变量声明
常见的变量声明形式:
var a stringvar a string = "xiaofeng"var a = "xiaofeng"var (a stringb int)var (a string = "xiaofeng"b int = 22)// 这种短变量声明只能在函数内部使用a := "xiaofeng"
包级变量(package variable)
在package级别可见的变量。如果是导出变量,则该包级变量也可以被视为全局变量。
包级变量只能使用带有var关键字的变量声明形式。
声明并同时显示初始化
// 1.var a = 99var b = 99.99// 2.var a int32 = 99var b float32 = 99.99// 3.var a = int32(99)var b = float32(99.99)
从声明一致性的角度出发,Go语言官方更推荐第三种,这样就统一了接受默认类型和显示指定类型两种声明形式。尤其是在将这些变量放在一个var块中声明时,更青睐这样的形式:
var (a = 99b = float32(99.99))
声明但延迟初始化
对于声明时并不显示初始化的包级变量,使用最基本的声明形式:
var a int32var b float64
声明聚类
也就是将同一类的变量声明放在一个var块中。
例如将显示初始化的变量声明放在一个var块中,将延迟初始化的变量声明放在一个var块中。
局部变量(local variable)
函数或方法体内声明的变量,仅在函数或方法体内可见。
与包级变量相比,局部变量多了一种短变量声明形式,这也是局部变量采用最多的一种声明形式。
局部变量声明注意两点:
- 对于延迟初始化的局部变量声明,采用带有var关键字的声明形式
- 对于声明切显示初始化的局部变量,建议使用短变量声明形式
