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

我试图在 Go 中找到有关括号括起来的变量声明语法的一些信息,但也许我只是不知道它的名称,这就是我找不到它的原因(就像值和指针接收器一样)。


即我想知道这种语法背后的规则:


package main


import (

    "path"

)


// What's this syntax ? Is it exported ? 

var (

    rootDir = path.Join(home(), ".coolconfig")

)


func main() {

  // whatever

}

var ()块中的那些变量在导入这个变量的模块中是否可用?


达令说
浏览 100回答 2
2回答

开满天机

这段代码// What's this syntax ? Is it exported ? var (    rootDir = path.Join(home(), ".coolconfig"))只是一种更长的写作方式var rootDir = path.Join(home(), ".coolconfig")然而,它在一次声明大量变量时很有用。代替var one stringvar two stringvar three string你可以写var (    one string    two string    three string)同样的技巧也适用于const和type。

小怪兽爱吃肉

var (...)(并且const (...)只是让您避免重复var关键字的速记。像这样的单个变量没有多大意义,但如果您有多个变量,以这种方式对它们进行分组会更好看。它与出口没有任何关系。以这种方式声明的变量根据其名称的大小写导出(或不导出),就像不带括号声明的变量一样。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go