Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在golang的卷曲括号内发生了什么_Go - Fatal编程技术网

在golang的卷曲括号内发生了什么

在golang的卷曲括号内发生了什么,go,Go,任何人都知道这段代码发生了什么,我是在复制代码构建golang micro服务时得到的 var logger log.Logger { logger = log.NewLogfmtLogger(os.Stderr) logger = log.NewSyncLogger(logger) logger = log.With(logger, "service", "movie", "time:&q

任何人都知道这段代码发生了什么,我是在复制代码构建golang micro服务时得到的

var logger log.Logger
{
    logger = log.NewLogfmtLogger(os.Stderr)
    logger = log.NewSyncLogger(logger)
    logger = log.With(logger,
        "service", "movie",
        "time:", log.DefaultTimestampUTC,
        "caller", log.DefaultCaller,
    )
}
我的问题是卷曲括号内发生了什么

var number int 
{

   . . . . . . 

}

花括号本身定义了Go中的词法范围。也就是说,无论在那个范围内发生什么,都会停留在那个范围内。变量声明、计算等

也就是说,它可以从外部将作用域拖入。也就是说,如果你声明了一个变量,比如外面的数字,然后修改括号里的数字,你就会看到它被修改了


下面是一篇关于理解范围和块的帖子:

它只是定义词法范围。在这个特定的例子中,它除了提供可视分组之外什么都不做,因为没有定义作用域局部符号。它通常用于重复使用变量名,而不会与其他值或类型发生冲突。