varconst

但需要注意一点,就是常量必须要初始化的,也就是必须要有值,不能像变量那样,先定义后赋值。而且常量听名字就知道是一旦赋值后就是不可变的。

常量声明和初始化

常量声明,指定常量数据类型并且初始化:

const name string = "Golang"

常量声明,根据常量的值自动推导出数据类型:

const name = "Golang"

多常量声明,指定常量类型并且初始化:

const name, num int = 1, 2

多常量声明,根据常量的值自动推导出数据类型:

const name, num = "Golang", 1

多常量声明,指定常量类型并且初始化:

const (
    name string = "Golang"
    num int = 1
)

多常量声明,根据常量的值自动推导出数据类型:

const (
    name = "Golang"
    num = 1
)

特殊常量 iota

iota
iotaiotaconst0constiota
iotaiotaiotaiota
iota
const (
    a = iota	// 0
    b = iota	// 1
    c = iota	// 2
)
iota
const (
    a = iota	// 0
    b			// 1
    c			// 2
)

当然也可以在中间的常量绑定其他数据类型的值:

const (
    a = iota		// 0	
    b				// 1
    c = "Golang"	// Golang
    d				// Golang
    e = 100			// 100
    f 				// 100
    g = true		// true
    h				// true
    i = iota		// 8
    j				// 9
    k				// 10
)
iota
iotaiota
iotaiiotaiota