golang的iota使用

发布时间 2023-05-26 20:07:46作者: 李若盛开

1、iota是什么

  iota是常量的计数器,可以理解为const定义常量的行数的索引,注意是行数。

  const中每新增一行常量声明将使iota计数一次,前提是iota在const中出现。

2、应用场景

  主要应用场景是在需要枚举的地方

3、易错点

  因为iota一般出现在const语句块的第一行,不少初学者会将之认为iota就是0,这是不对的。

  准确的说:iota出现在const语句块中的第几行,那值就是几,当然这里的行数的索引也是以0为开始。

package main
import "fmt"
const (
    a = iota    // 0
    b           // 1
    c           // 2
)
 
const (
    x = 1       // 1
    y = iota    // 1
    z           // 2
)
 
// 为什么c1不是2? 因为b1为100,按照golang常量定义的简便写法,所以c1为100
const (
    a1 = iota  //0
    b1 = 100   //100
    c1      //100
    d1 = iota  //3
    e1      //4
)
 
func main() {
    fmt.Println(a, b, c)                   
    fmt.Println(x, y, z)                   
    fmt.Println(a1, b1, c1, d1, e1)      
}
golang常量定义的简便写法:
const (
    b3 = 88  // 88
    b7    // 88
    b6    // 88
)