Go常量与变量
一、变量
1.1 声明
变量声明:var 变量名 类型 = 表达式
var name string = "jinshw"
var age int = 20
fmt.Println(name, age)
1.2 类型推导
自动推导识别类型
var name2 = "jinshw2"
var age2 = 21
fmt.Println(name2, age2)
1.3 短变量声明
短变量声明: 在函数内部,可以使用更简略的 := 方式声明并初始化变量。
name3 := "jinshw3"
age3 := 21
fmt.Println(name3, age3)
1.4 匿名变量
匿名变量:在使用多重赋值时,如果想要忽略某个值
x, _ := getXY()
_, y := getXY()
fmt.Println("x=", x, "y=", y)
func getXY() (int, string) {
return 10, "year"
}
二、变量
2.1 常量
常量:相对于变量,常量是恒定不变的值
const pi = 3.1415
const e = 2.7182
//多个常量也可以一起声明
const (
pi2 = 3.1415
e2 = 2.7182
)
const同时声明多个常量时,如果省略了值则表示和上面一行的值相同
const (
n1 = 100
n2
n3
)
2.2 常量计数器iota
iota:是go语言的常量计数器,只能在常量的表达式中使用。
const (
n61 = iota //0
n62 //1
n63 //2
n64 //3
)
使用_跳过某些值
const (
n612 = iota //0
n622 //1
_
n642 //3
)
iota声明中间插队
const (
n13 = iota //0
n23 = 100 //100
n33 = iota //2
n43 //3
)
const n53 = iota //0
定义数量级
也就是由1变成了10000000000,也就是十进制的1024。同理2<<2表示将2的二进制表示向左移2位,也就是由10变成了1000,也就是十进制的8。)
const (
_ = iota
KB = 1 << (10 * iota)
MB = 1 << (10 * iota)
GB = 1 << (10 * iota)
TB = 1 << (10 * iota)
PB = 1 << (10 * iota)
)
多个iota定义在一行
const (
a, b = iota + 1, iota + 2 //1,2
c, d //2,3
ee, ff //3,4
)