本来是个很基础的点,但为了多写写博练练手也就顺便写篇博客瞎记录一下了。

头图来源:テキサス - katann - pixiv


常量顾名思义就是不允许被修改的值,而iota则是可以被编辑器所修改的特殊常量,其在const关键字出现时将被重置为0(const内部的第一行之前),在const中每增加一行常量iota就会计数一次。

举个栗子

const(
   a = iota
   b = iota
   c = iota
)

其等价于

const(
   a = iota
   b
   c
)

上面的a=0,b=1,c=2

接下来就是比较好玩的用法了:
拿个菜鸟教程的栗子

const (
            a = iota   //0
            b          //1
            c          //2
            d = "ha"   //独立值,iota += 1
            e          //"ha"   iota += 1
            f = 100    //iota +=1
            g          //100  iota +=1
            h = iota   //7,恢复计数
            i          //8
    )

自己写的例子

const(
    a =iota //0 iota=0
    b //1 iota=1
    c //2 iota=2
    d = iota*2+1 //3*2+1=7 iota=3
    e //4*2+1=9 iota=4
    f //5*2+1=11 iota=5
)

从上面的结果可以知道,const如果省略=来对常量赋值,则这个常量的值就和在其之上与之最近的被赋值的常量相同。然而iota是会自增变化的,于是乎对于用含iota表达式赋值的常量,在其之下省略=声明的常量的值就是这个含iota表达式带入对应iota的值。

以上是我初学阶段的理解,也许会有说的不对或理解不透彻的地方。

Last modification:October 2nd, 2021 at 07:46 pm
If you think my article is useful to you, please feel free to appreciate