go语言基础之——iota的用法

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 协议》,转载必须注明作者和本文链接
讨论数量: 1

在const关键字出现时将被重置为0,const中每新增一行常量声明将使iota计数一次

2周前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!