为了账号安全,请及时绑定邮箱和手机立即绑定

Go 中括号括起来的变量声明语法是什么?

Go 中括号括起来的变量声明语法是什么?

Go
达令说 2021-12-20 15:35:51
我试图在 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。


查看完整回答
反对 回复 2021-12-20
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

var (...)(并且const (...)只是让您避免重复var关键字的速记。像这样的单个变量没有多大意义,但如果您有多个变量,以这种方式对它们进行分组会更好看。

它与出口没有任何关系。以这种方式声明的变量根据其名称的大小写导出(或不导出),就像不带括号声明的变量一样。


查看完整回答
反对 回复 2021-12-20
  • 2 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号