Blocks 块

原文:https://go.dev/ref/spec#Blocks

​ 块是在一对匹配的大括号内的声明和语句(一个可能是空的)序列。

Block = "{" StatementList "}" .
StatementList = { Statement ";" } .

源代码中除了显式块之外,还有隐式块:

  1. 包含所有的Go源码文本的 universe block
  2. 每个都有一个package block,包含该包的所有 Go 源代码。
  3. 每个文件都有一个file block,包含该文件中的所有Go 源代码。
  4. 每个 “if"、"for “和 “switch “语句都被认为是在自己的隐式块中。
  5. switch“或 “select “语句中的每个子句都是一个隐式块。

块是可以嵌套并影响着作用域