iota iota

iota

go語言中不支持枚舉定義,但是使用iota可以實現類似效果

枚舉定義

package main

import "fmt"

const (
    a int = iota
    b
)

func main() {
    fmt.Println(a, b)
}
0 1

iota實際被定義爲0,僅配合const關鍵字來使用也僅在此const範圍中有效

iota原理

iota有兩個功能:

  • const範圍內後續的常量複製相同的表達式
  • iota的初始常量爲0,之後的iota的值在每次處理爲常量時都會自增1

高級示例

package main

import "fmt"

const (
    a int = 1 << iota
    b
)

func main() {
    fmt.Println(a, b)
}
1 2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章