在golang的卷曲括号内发生了什么
任何人都知道这段代码发生了什么,我是在复制代码构建golang micro服务时得到的在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
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中的词法范围。也就是说,无论在那个范围内发生什么,都会停留在那个范围内。变量声明、计算等 也就是说,它可以从外部将作用域拖入。也就是说,如果你声明了一个变量,比如外面的数字,然后修改括号里的数字,你就会看到它被修改了
下面是一篇关于理解范围和块的帖子:它只是定义词法范围。在这个特定的例子中,它除了提供可视分组之外什么都不做,因为没有定义作用域局部符号。它通常用于重复使用变量名,而不会与其他值或类型发生冲突。