- 深入淺出Go語言核心編程
- 張朝明 李奕鋒 甘海彬
- 469字
- 2024-12-24 10:23:14
2.4 編程范例——iota的使用技巧
雖然在2.3節的示例代碼中定義周日至周六的枚舉值為0~6,但我們更習慣于將周一至周日定義為1~7。那么利用iota該如何實現呢?
要實現該需求,需要跳過iota的初始值0。我們可以利用一個額外常量來占用0,從而實現跳過索引0。但是,這個額外的常量的名稱可能又成為一個讓人糾結的問題。大家通常都不喜歡無意義的常量名。
Go語言中,可以利用匿名名稱“_”來定義變量和常量,這樣的變量和常量被稱作匿名變量/匿名常量。代碼清單2-9演示了利用匿名常量來跳過iota的0值索引。
代碼清單2-9 利用匿名常量跳過iota的0值索引

在該代碼段中,利用“_ = iota”來將iota的第一個索引值(0)賦予匿名常量,從而使自Monday開始的后續常量的值從1開始。
執行該代碼,最終在控制臺上的打印效果如下:
1 2 3 4 5 6 7
在上例中,利用匿名常量跳過了單個值。但是,如果需要跳過多個值,則利用額外變量便不再是好的解決方案。例如,將自2000年開始的10個年份作為常量,該如何處理呢?
其實,我們還可以在常量賦值時增加表達式運算,代碼如下:

在該段代碼中,我們利用加法運算結合iota來為所有常量賦值,從而實現非0開始的連續值。
推薦閱讀
- Learning ROS for Robotics Programming(Second Edition)
- 解構產品經理:互聯網產品策劃入門寶典
- Python量化投資指南:基礎、數據與實戰
- Web Development with Django Cookbook
- Apache Spark 2 for Beginners
- Windows Forensics Cookbook
- Java程序設計
- SQL Server實用教程(SQL Server 2008版)
- Java程序設計與項目案例教程
- 零基礎學Python編程(少兒趣味版)
- 軟件工程與UML案例解析(第三版)
- 計算機組裝與維護(第二版)
- Hadoop Blueprints
- Getting Started with the Lazarus IDE
- Kotlin程序員面試算法寶典