6.4 范围

Go 使用(显式或隐式)块进行词法范围限定。标识符的范围是源文本的范围,其中标识符表示声明的常量、变量、类型、函数、方法、标签或导入的包。

  • Go 预先声明的标识符(例如,int,true)的作用域是universe block

  • 表示在包级别(例如,在函数定义之外)声明的常量、变量、类型或函数的标识符的作用域是包块。

  • 导入的包名称的作用域是文件块。除此情况外,出于范围目的,文件块不被视为与包块不同的块。

  • 表示方法接收器、函数参数或返回变量的标识符的作用域是函数体。

  • 在函数内声明的常量或变量标识符的作用域从声明语句的末尾开始,到最里面的包含块的末尾结束。

  • 在函数中声明的类型标识符的作用域从类型声明语句中的标识符开始,到最里面的包含块的末尾结束。

最后更新于