https://play.golang.org/p/kk9c71Yt9N - 这是我正在处理的代码。
我试图理解变量的词法范围X
。如果我:=
在第 11 行中使用运算符,则在隐藏X
外部定义并在函数内创建一个新范围。func main
如果我=
在同一行中使用运算符,编译器会抱怨err
未定义。
我的理解是,:=
操作员创建了未定义的变量,因此只需err
定义即可。但是,这种理解显然是错误的。
我可以做哪些代码更改以确保X
不在其中重新定义main()
?
我知道我可以执行以下操作以确保X
不在内部重新定义main()
:
var err error X, err = InitX()
有没有更好的方法我可能会错过?
呼啦一阵风
相关分类