Golang中的iota

Golang中的语法糖:iota

记录下golang中iota的用法。

iota

读作“艾欧塔”,发音/aɪˈəʊtə/

iota,本质上是一个const常量,但它的特点在于它的值会被编译器修改,以下是一个使用iota的例子。

输出结果如图。可以看到每出现一个变量iota的值就+1。当iota碰到新的const关键字时又被重置为0。

不过先不着急总结。如果此时我们把StringType DBType赋值为9呢?UnknownType最后的结果还会是2吗?

我们来看下结果,UnknownType的结果仍然是2,说明iota在经过StringType的时候仍然自增了。

总的来说,iota会在const关键字出现的时候被重置为0。如果你在const中定义了多个变量,那么无论你有没有给变量赋值,iota都会iota++。

为啥要这么用?回想一下数据库的id自增,又或者是需要给一组常量赋id写for循环时;总的来说用了iota之后就省的去写这么个for循环了。

Subscribe
提醒
0 评论
Inline Feedbacks
View all comments
0
在此留下你的评论x