Go 语言中的变量作用域有哪些
更新时间:2023-09-12全局变量
全局变量声明在函数外部,可以在所有函数内访问,即具有全局作用域。
var globalVariable int
func main() {
fmt.Printf("全局变量的值为:%d", globalVariable)
}
在上述代码中,我们定义了一个名为globalVariable的变量,可以在main函数内直接使用。
局部变量
局部变量定义在函数内部,只能在该函数内部被使用。
func main() {
var localVariable int
fmt.Printf("局部变量的值为:%d", localVariable)
}
在上述代码中,我们定义了一个名为localVariable的局部变量,只能在main函数内使用。
函数参数
函数参数也属于局部变量,只能在该函数内部使用。
func main() {
parameter := 10
someFunction(parameter)
}
func someFunction(parameter int) {
fmt.Printf("函数参数的值为:%d", parameter)
}
在上述代码中,我们定义了一个名为parameter的函数参数,并将其传递给someFunction函数。
块级作用域
块级作用域指的是在if、for和switch等语句块内定义的变量。
func main() {
if true {
blockVariable := 20
fmt.Printf("块级作用域变量的值为:%d", blockVariable)
}
}
在上述代码中,我们定义了一个名为blockVariable的块级作用域变量,并在if语句块内使用。