1 概述
常量,一经定义不可更改的量。功能角度看,当出现不需要被更改的数据时,应该使用常量进行存储,例如圆周率。从语法的角度看,使用常量可以保证数据,在整个运行期间内,不会被更改。例如当前处理器的架构类型,可以保证不被更改。
语法如下
2 定义单个常量
const 常量名 = 常量值
Go语言中,标识符(常量名)是否大小写,取决于是否需要在导出时被识别。
常量的值仅仅支持,基础类型,字符串,字符,整型,浮点,布尔。
3 类型推导
类型可以通过值推导出来,大多数情况可以省略类型,例如
除非你想使用例如,int8, byte,float32这些非默认类型时,需要指定类型,例如
4 定义多个常量
可以一行定义多个常量,例如:
也可以使用 const()定义块,定义多个,每个常量单独一行,例如
推荐使用const()块语法,一次性定义多个。
const()块定义时,如果常量未给出定义,则延续上面的定义规则,例如:
此时,c8, c9, 值都是42。
5 iota迭代定义常量
const配合iota关键字使用,可以定义一组由0开始+1迭代的常量
演示语法:
此时,三个常量值,分别是,0, 1, 2
iota的规则是:若iota出现在const()中,那么const()定义的第一行的iota就是0,第二行就是0+1=1,不论iota是否被常量使用。演示如下:
此时结果为:42, 1, 1024, 1024, 4, 5
6 常量在编译时确定
编译时确定,因此不能使用变量为其赋值。可以使用,确定的字面量,字面量运算,内置函数运算,其他定义常量,这些在编译时可以确定的内容为常量赋值,演示为:
以上语法都可以!
7 常量的作用
将特殊的值,语义化。使用时,可以知道其具体含义。
数据的集中管理,更改常量定义,即可完成全部的修改。
保证不被程序的其他代码所更改。
一家之言,欢迎讨论!
晚安!
领取专属 10元无门槛券
私享最新 技术干货