你不能 当局部变量
name在作用域内时,名称
name表示局部变量。并且没有“限定符”来引用顶级标识符。
规格:声明和范围:
可以在内部块中重新声明在块中声明的标识符。内部声明的标识符在范围内,它表示内部声明声明的实体。
如果您需要同时访问顶级常量/变量和局部变量,请使用不同的名称。
如果由于某种原因您不愿意或不想这样做,可以先保存顶级常量或变量的值:
cname := namename := "Jobs"fmt.Println(name)fmt.Println(cname)
或者,您可以提供其他方式来访问它,例如一个函数:
func getName() string { return name}name := "Jobs"fmt.Println(name)fmt.Println(getName())两种情况下都输出(在Go Playground上尝试):
JobsYosua



