常量

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
)