我试图在 Go 中找到有关括号括起来的变量声明语法的一些信息,但也许我只是不知道它的名称,这就是我找不到它的原因(就像值和指针接收器一样)。即我想知道这种语法背后的规则:package mainimport ( "path")// What's this syntax ? Is it exported ? var ( rootDir = path.Join(home(), ".coolconfig"))func main() { // whatever}var ()块中的那些变量在导入这个变量的模块中是否可用?
2 回答

开满天机
TA贡献1786条经验 获得超13个赞
这段代码
// What's this syntax ? Is it exported ?
var (
rootDir = path.Join(home(), ".coolconfig")
)
只是一种更长的写作方式
var rootDir = path.Join(home(), ".coolconfig")
然而,它在一次声明大量变量时很有用。代替
var one string
var two string
var three string
你可以写
var (
one string
two string
three string
)
同样的技巧也适用于const和type。

小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
var (...)
(并且const (...)
只是让您避免重复var
关键字的速记。像这样的单个变量没有多大意义,但如果您有多个变量,以这种方式对它们进行分组会更好看。
它与出口没有任何关系。以这种方式声明的变量根据其名称的大小写导出(或不导出),就像不带括号声明的变量一样。
- 2 回答
- 0 关注
- 99 浏览
添加回答
举报
0/150
提交
取消