常量

go使用const定义常量,常量是编译期能确定的结果,在go语言存储在常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串类型。

const a = 1 //a会被自动推断为int型 const b = 1/2 const c="abc" const length1 = len(c) //ok length=3 len常量结果为常量 const length2 = len(c[:]) //not ok len变量结果为变量 const c1, c2, c3 = "c", 2, "c2" //ok //使用带()的写法 const ( Monday, Tuesday, Wednesday = 1, 2, 3 Thursday, Friday, Saturday = 4, 5, 6 ) //类似枚举的写法 const( Monday=1 Tuesday=2 Wednesday=3 )

iota 简化常量写法

//使用iota const ( Monday = iota + 1 //1 Tuesday //2 Wednesday //3 ) //go使用枚举的真正方式 type MyType int //定义新的类型 const ( Monday MyType = iota + 1 //1 Tuesday //3 Wednesday //3 )