4. 常量
常量:使用一个名称来绑定一块内存地址,该内存地址中存放的数据类型由定义常量时指定的类型决定,而且该内存地址里面存放的内容不可以改变。Go中常量分为布尔型、宇符串型和数值型常量。常量存储在程序的只读段里(.rodatasection)。常量使用关键字const
声明。
预声明标识符iota用在常量声明中,其初始值为0。一组多个常量同时声明时其值逐行增加,iota可以看作自增的枚举变量,专门用来初始化常量。
4.1 iota
示例
const x = iota // x == 0
const y = iota // y == 0
// 定义多个常量
const (
c0 = iota // c0 == 0
c1 = iota // c1 == 1
c2 = iota // c2 == 2
)
// 等价
const (
c0 = iota // c0 == 0
c1 // c1 == 1
c2 // c1 == 2
)
//
const (
a = iota // a == 0
b = 1
c // c == 2
)
常量,变量与字面量
- 常量和变量都是变量,常量是赋过值后不能再改变,普通的变量可以再进行赋值操作
- 字面量:由字母,数字等构成的,它只能作为右值(等号右边的值)出现
var a int // a为变量
const b int = 2; //b为常量,2为字面量
var str string = "hello world!" // str 为变量,hello world! 为字面量