包级别的短变量声明
在 Go 中,函数内允许短变量声明(使用 :=),但不允许在封装级别。这可能会令人费解,因为在函数外部使用 := 看起来就像没有类型的常规声明。
限制的原因
根据 Ian Lance Taylor 的说法, Go 的创建者认为,该限制的存在只是为了简化解析。顶级声明总是以关键字开头,例如 var、func、import 等。这简化了语法并使编译器的解析更加简单。
示例
允许使用 var 进行包级声明:
package main var a = 3
短变量声明使用:= 在包级别不允许:
package main a := 3
以上是为什么我不能在 Go 的包级别使用短变量声明(`:=`)?的详细内容。更多信息请关注PHP中文网其他相关文章!