Go iota关键字与枚举类型实现原理是什么
导读:本文共1213字符,通常情况下阅读需要4分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要:1. iota关键字iota是go语言的常量计数器,只能在常量的表达式中使用,其值从0开始,在const中每新增一行iota自己增长1,其值一直自增1直到遇到下一个const关键字,其值才被重新置为0。const(aint=iota//0b//1c//2d//3)另外,iota在使用时,可以跳过某几行(需要注意的是,空格并不算行)。const(a=iota//0b//1c//2... ...
目录
(为您整理了一些要点),点击可以直达。iota是go语言的常量计数器,只能在常量的表达式中使用,其值从0开始,在const中每新增一行iota自己增长1,其值一直自增1直到遇到下一个const关键字,其值才被重新置为0。
另外,iota在使用时,可以跳过某几行(需要注意的是,空格并不算行)。
并且,iota可以参与数学运算。
并且,在同一行中,一个iota可以多次使用:
综上所示,我们可以发现,iota就类似于在一个const的()中的一个行计数,当我们调用它时,不论我们使用与否,使用多少次,itap都会会对每一行进行一个计数。
枚举用来表示只包含有限数量的固定值的类型,在开发中一般用于标识错误码或者状态机。拿一个实体对象的状态机来说,它通常与这个对象在数据库里对应记录的标识状态的字段值相对应。
Java 为我们提供了现成的枚举类的实现形式。但是在Go中并没有,因此我们可以借助type定义一个类型与iota结合实现枚举类的效果:
虽然底层的实现仍然是int类型,但是当我们使用int类型直接与Season类型的变量比较时,会出现编译不通过的错我,这样我们就可以对我们需要的枚举类型做类型限制了。
当然,我们也可以结合上面提到的itao,进行打优化:
Go iota关键字与枚举类型实现原理是什么的详细内容,希望对您有所帮助,信息来源于网络。