一、常量名
常量的命名规则与命名风格和变量的相同,具体参见变量的命名规则。
二、常量的特点
常量在编译时就已经确定为已知且不可改变的值。
三、字面常量
字面常量就是一个确定值的本身,如表1所示。
四、单个常量的声明且赋值
常量是在编译期就要确定的值,不能对常量先声明再赋值,因为赋值语句是在程序运行时才执行。所以,单个常量的赋值方式有两种,如表2所示。
五、多个常量的声明和赋值
和单个常量一样,多个常量也不能先声明再赋值,需要边声明边赋值。多个常量的赋值方式有四种,如表3。
注:方式4中的c“继承”b的值,c=“哈”。
六、iota枚举
在Go语言中,没有直接支持枚举的关键字,但是Go语言提供了另一种方法来实现枚举,那就是const+iota。iota,一个可以被编译器修改的特殊常量,是常量的计数器。
6.1 iota的运用规则
♢ 在每一个const关键字出现时,被重置为0;
♢ const中每新增一行常量的声明,就使iota计数一次;
♢ 某一行有新的常量声明,则这一行的iota值会被"覆盖",直到重新出现iota,恢复所在位置的值。
6.2 枚举示例
七、常量的类型转换
和变量的类型转化类似,常量的类型转化也必须显示声明,但是常量的声明需要注意两点:第一,由于常量是在编译期就已经确定的值,所以常量必须在声明的同时就赋值;第二,强转后值的大小不能改变,例如,值为10.0的浮点型常量是可以转换为值为10的整数型常量,但值为10.2的浮点型常量是不可以转换为值为10的整数型常量的。常量部分可以转换的类型如表4所示。
参考资料
[1] https://studygolang.com/articles/5386
[2] https://studygolang.com/articles/2192