Go进阶06 iota

2017-09-04 12:45:34
iota简介

iota 是golang的常量计数器,只能在常量的表达式中使用.
iota在const关键字出现时将被重置为0,const中每新增一行将使iota计数一次
iota可以简化定义,经常用在枚举的时候

常见用法
  • iota只能在常量表达式中使用
  • 每次const出现时,iota会初始化为0

    1
    2
    3
    4
    5
    const a = iota  // a = 0
    const (
    b = iota // b = 0
    c // c = 1
    )
  • 自定义类型

    1
    2
    3
    4
    5
    const (
    red = iota
    blue
    green
    )
  • 可跳过的值

    1
    2
    3
    4
    5
    6
    7
    8
    9
    const (
    red = iota // 0
    blue // 1
    green // 2
    -
    -
    yellow // 5
    black // 6
    )
  • 定义数量级

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    type ByteSize float64
    const(
    _ = iota // ignore first value by assigning to blank identifier
    KB ByteSize = 1 << (10*iota) // 1<<(10*1)
    MB // 1<<(10*2)
    GB // 1<<(10*3)
    TB // 1<<(10*4)
    PB // 1<<(10*5)
    EB // 1<<(10*6)
    ZB // 1<<(10*7)
    YB // 1<<(10*8)
    )

您的鼓励是我写作最大的动力

俗话说,投资效率是最好的投资。 如果您感觉我的文章质量不错,读后收获很大,预计能为您提高 10% 的工作效率,不妨小额捐助我一下,让我有动力继续写出更多好文章。