📜  Go 中的 var 关键字(1)

📅  最后修改于: 2023-12-03 15:15:21.394000             🧑  作者: Mango

Go 中的 var 关键字

在 Go 语言中,使用 var 关键字声明并初始化变量。var 可以用于函数内部和函数外部。

声明变量

使用 var 声明变量的语法如下:

var variable_name variable_type

其中,variable_name 表示变量名,variable_type 表示变量类型。

例如,声明一个整型变量 x

var x int

还可以通过 = value 的方式初始化变量:

var x int = 5

Go 也支持类型推导,可以不指定变量类型,让编译器推导出变量类型:

var x = 5
短声明变量

在函数内部,还可以使用短声明变量的方式声明变量:

variable_name := value

例如,声明一个字符串变量 msg

msg := "Hello, World!"

短声明变量只能在函数内部使用,不能在函数外部使用。同时,短声明变量必须有初始值,否则会编译错误。

多变量声明

Go 也支持同时声明多个变量,例如:

var x, y int = 1, 2

或者使用短声明变量:

x, y := 1, 2

同时,还可以交换变量的值:

x, y = y, x
变量作用域

在 Go 中,变量的作用域被限定在它们被声明的块内。例如,在函数内部声明的变量只能在函数内部使用,而在函数外部声明的变量可以在整个 package 内使用。

全局变量

在函数外部使用 var 声明的变量为全局变量。全局变量必须有初始值,否则会使用默认值初始化。

var x int // 声明全局变量
func main() {
    fmt.Println(x) // 输出 0,使用默认值初始化
}

注意,全局变量可以在函数内部访问,但不能在函数内部使用短声明变量重新声明。

常量

除了变量,Go 还支持声明常量。使用 const 关键字声明常量:

const PI = 3.14

常量的值在程序运行期间不能被改变,同时常量在程序运行期间也不能被重新声明。

总结

Go 中的 var 关键字可以用于声明变量和常量,并且支持类型推导、短声明变量、多变量声明和全局变量。在使用和命名变量时,需要注意作用域和变量类型等问题。