区块链技术语言(八)——Go语言常量

1

常量名

常量的命名规则与命名风格和变量的相同,具体参见变量的命名规则。

2

常量的特点

常量在编译时就已经确定为已知且不可改变的值。

3

字面常量

字面常量就是一个确定值的本身,如表1所示。

4

单个常量的声明且赋值

常量是在编译期就要确定的值,不能对常量先声明再赋值,因为赋值语句是在程序运行时才执行。所以,单个常量的赋值方式有两种,如表2所示。

5

多个常量的声明和赋值

和单个常量一样,多个常量也不能先声明再赋值,需要边声明边赋值。多个常量的赋值方式有四种,如表3。

注:方式4中的c“继承”b的值,c=“哈”。

6

iota枚举

在Go语言中,没有直接支持枚举的关键字,但是Go语言提供了另一种方法来实现枚举,那就是const+iota。iota,一个可以被编译器修改的特殊常量,是常量的计数器。

6.1 iota的运用规则

♢ 在每一个const关键字出现时,被重置为0;

♢ const中每新增一行常量的声明,就使iota计数一次;

♢ 某一行有新的常量声明,则这一行的iota值会被"覆盖",直到重新出现iota,恢复所在位置的值。

6.2 枚举示例

7

常量的类型转换

和变量的类型转化类似,常量的类型转化也必须显示声明,但是常量的声明需要注意两点:第一,由于常量是在编译期就已经确定的值,所以常量必须在声明的同时就赋值;第二,强转后值的大小不能改变,例如,值为10.0的浮点型常量是可以转换为值为10的整数型常量,但值为10.2的浮点型常量是不可以转换为值为10的整数型常量的。

常量部分可以转换的类型如表4所示。

参考资料

[1] https://studygolang.com/articles/5386

[2] https://studygolang.com/articles/2192

本文完,获取更多资讯,敬请关注区块链工程师。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180723G1V4SK00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券