const
const用来定义常量,所谓常量,就是在定义之后,其值不允许被修改。定义常量的格式是:
const 常量名 [类型] = 值
在定义常量时,可以不指定类型,golang编译器会自动推导出常量类型。定义字符串类型常量的写法:
const hi = "this is my first const"
or
const hi string = "this is my first const"
定义一个值为0的int类型常量写法
const num int = 0
or
const num = 0
在golang中有一个特殊的变量iota,这个变量只能与const搭配使用。iota的含义是初始化一个计数器,这个计数器的影响范围只能是const后括号作用域范围内的常量。如定义5个常量,值分别是0,1,2,3,4,写法如下:
package main
import (
"fmt"
)
func main() {
const (
NUM1 = iota
NUM2
NUM3
NUM4
NUM5
)
const (
A = iota
B
C
D
)
fmt.Println(NUM1, NUM2, NUM3, NUM4, NUM5)
fmt.Println(A, B, C)
}
输出结果如下:
0 1 2 3 4
0 1 2
从上边的示例中可以发现NUM1被赋值成iota,从打印信息可以看出,iota的初始值是0。上边究竟发生了什