iota 是go語言中的一個特殊常量,它的應用遵循以下五條規則,接下來將通過程式碼一一驗證:
- 不同const 定義塊互不干擾
- 所有註釋行和空行全部忽略
- 沒有表示式的常量定義複用上一行的表示式
- 從第一行開始,iota 從 0 逐行加一
- 替換所有 iota
1. 不同const 定義塊互不干擾
const (
a = iota
b
c
)
const (
d = iota
e
f
)
輸出結果: a = 0, b = 1, c = 2; d = 0, e = 1, f = 2, 由此可見從第一行開始,iota 從 0 逐行加一,不同的const之間互不干擾。
2. 所有註釋行和空行全部忽略
const (
a = iota
//
b
c
)
輸出結果為: a = 0, b = 1, c = 2, 由此可見,空行和註釋並沒有實際作用,可以直接忽略。
3. 沒有表示式的常量定義複用上一行的表示式
const (
a = iota // iota = 0
b = 1 + iota // iota = 1
c 3 // iota = 2
)
輸出: a = 0, b = 2 , c = 3 , c複用了b的表示式, c = 1 + iota ,因為iota = 2 ,所以c = 3。
本作品採用《CC 協議》,轉載必須註明作者和本文連結