文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
声明和作用域
一段声明可以给常量,类型,变量,函数,标签,和包绑定标识符。程序中每个标识符都需要声明。相同标识符不能在同一个代码块中声明 2 次。并且相同标识符不能同时在文件和 package 代码块中声明。
空标识符可以和其他标识符一样在声明中使用。不过它不绑定标识符,等于没有声明。在 package 代码块中 init
标识符只能用做 init
函数的标识符,就像空标识符一样,它不会引入新的绑定。
Declaration = ConstDecl | TypeDecl | VarDecl .
TopLevelDecl = Declaration | FunctionDecl | MethodDecl .
声明过的标识符的作用域就是声明标识符所在的作用域。
go 使用块来规定词汇的方位:
预定义的标识符具有全局作用域。
所有定义的顶级标识符具有包作用域。
import 进来的包的名字标识符具有文件作用域。
方法的接收者,函数参数,返回值变量具有函数作用域。
函数内定义的参量和变量标识符的作用域是标识符被声明到容纳他的块结束。
一个代码块中声明的标识符可以在它内部的代码块中重新声明。在内部代码块的作用域中标识符表示在内部代码块中声明的实体。
pakcage 语句不属于声明。包名不会出现在任何的作用域中。它的作用只是用来标识属于相同包的多个文件并在导入时指定默认包名。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论