在Go语言中,全局变量可以在整个程序范围内访问,包括局部作用域。但是,如果你想在局部作用域内使用全局变量,你需要使用关键字var
在局部作用域内声明一个同名的局部变量。这样,局部变量会遮蔽全局变量,导致在局部作用域内只能访问到局部变量。
下面是一个示例:
package main
import "fmt"
// 全局变量
var globalVar int = 10
func main() {
// 局部变量,与全局变量同名
var globalVar int = 20
fmt.Println("Global variable:", globalVar) // 输出:Global variable: 10
fmt.Println("Local variable:", globalVar) // 输出:Local variable: 20
}
在这个例子中,我们在main
函数的局部作用域内声明了一个与全局变量同名的局部变量globalVar
。因此,在main
函数内,我们访问到的globalVar
实际上是局部变量,而不是全局变量。