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 中只有 :=(短变量声明)不能声明全局变量,只能在函数内部使用。

曼波