Go语言定义常量const不能少,数据类型可以不写
Go语言定义常量不能用:=
Go语言定义常量没有赋初值,那么值就和上一行的常量的值相等
Go语句中没有明确枚举的固定写法, 但是在企业开发中一般都会常量组的形式来表示枚举
const(
枚举元素 = 值
枚举元素 = 值
)
用法:
const(
num = itoa
num2 = itoa
)
itoa从0开始,遇到一行赋值就+1
例如:
主要是针对一系列可枚举的常量而设计的语法糖,为了偷懒方便这是毫无疑问的,此外个人经验中感觉还有两方面的好处:值与常量本身是解偶的,应对频繁的代码修改更有优势,同一列枚举,你今天加了一个成员,明天删除2个,日复一日的改,他们的序号一定乱成渣了,iota帮你自动维护之后就不关心了
iota可以参与常量计算,不仅仅可以是序号,类似 bitwise flags 这样的场景也能维护。
如果团队已经习惯使用常量代替常数的话,iota彻底省略了人工维护常量的工作,而且比人工维护更安全,可以在多人协作的任何上下文里随意扩增和删除这些常量,而不必担心混乱。
利用 const 可以定义一个常量const i=100
利用var 可以定义一个变量
var t int
当你将变量赋值以后,在程序不进行值的修改就可以当常量用
t=i
在一个包里,定义变量时使用小写,格外定义个取值方法。则,在包外可以通过这个取值方法获得值,直接无法使用。如果要实现只在函数内部使用,则可以将变量定义在函数内部。
func GetValue() int {
t:=i
return t
}