Go 变量声明的四种方式
1. var 指定类型
var name string
var age int
初始化:
var name string = "Tom"
var age int = 18
2. var 类型推导
var name = "Tom"
var age = 18
编译器根据初始值自动推导变量类型。
3. 批量声明
var (
name = "Tom"
age = 18
city = "Beijing"
)
也可以显式指定类型:
var (
name string = "Tom"
age int = 18
)
4. 短变量声明
name := "Tom"
age := 18
这是 Go 开发中最常见的写法。
全局变量限制
以下三种方式可以声明全局变量:
var name string
var name = "Tom"
var (
name = "Tom"
age = 18
)
例如:
package main
var version = "1.0"
func main() {
}
短变量声明不能用于全局作用域:
version := "1.0" // 编译错误
只能在函数内部使用:
func main() {
version := "1.0"
}
总结
| 声明方式 | 示例 | 支持类型推导 | 可声明全局变量 |
|---|---|---|---|
| var 指定类型 | var a int | 否 | 是 |
| var 类型推导 | var a = 1 | 是 | 是 |
| var 批量声明 | var (...) | 是 | 是 |
| 短变量声明 | a := 1 | 是 | 否 |
Go 中只有
:=(短变量声明)不能声明全局变量,只能在函数内部使用。