首页 >后端开发 >Golang >为什么我不能在 Go 的包级别使用短变量声明(`:=`)?

为什么我不能在 Go 的包级别使用短变量声明(`:=`)?

DDD
DDD原创
2024-12-25 09:44:09740浏览

Why Can't I Use Short Variable Declarations (`:=`) at the Package Level in Go?

包级别的短变量声明

在 Go 中,函数内允许短变量声明(使用 :=),但不允许在封装级别。这可能会令人费解,因为在函数外部使用 := 看起来就像没有类型的常规声明。

限制的原因

根据 Ian Lance Taylor 的说法, Go 的创建者认为,该限制的存在只是为了简化解析。顶级声明总是以关键字开头,例如 var、func、import 等。这简化了语法并使编译器的解析更加简单。

示例

允许使用 var 进行包级声明:

package main

var a = 3

短变量声明使用:= 在包级别不允许:

package main

a := 3

以上是为什么我不能在 Go 的包级别使用短变量声明(`:=`)?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn