和其他语言一样,go也有自己的变量和常量,那么是真么定义的呢
变量用关键字 var,常量用关键字const
一:声明方法
1)指定类型,不赋值(默认是初始值,比如int类型结果默认是0)
var a int
2)不指定类型,系统自动辨识
var b = 10
3)省略var,使用:,同时要保证变量没有声明过
c:=10
二:多变量声明
var x, y int
var ( // 这种因式分解关键字的写法一般用于声明全局变量
a int
b bool
)
var ( // 这种因式分解关键字的写法一般用于声明全局变量
a int
b bool
)
var c, d int = 1, 2
var e, f = 123, "hello"
var e, f = 123, "hello"
//这种不带声明格式的只能在函数体中出现
//g, h := 123, "hello"
//g, h := 123, "hello"
func main(){
g, h := 123, "hello"
println(x, y, a, b, c, d, e, f, g, h)
}
g, h := 123, "hello"
println(x, y, a, b, c, d, e, f, g, h)
}
三:特色
交换变量
1)a, b = b, a
2)空白标识符 _ 也被用于抛弃值,如值 5 在:_, b = 5, 7 中被抛弃。
四:常量
常量和变量使用差不多
常量可以用作枚举
const (
Unknown = 0
Female = 1
Male = 2
)
五:特殊常量
iota,特殊常量,可以认为是一个可以被编译器修改的常量。
在每一个const关键字出现时,被重置为0,然后再下一个const出现之前,每出现一次iota,其所代表的数字会自动增加1。