在Go语言中,方法的作用域是什么?

3

从规范中可以看到(声明和范围):

在顶级(在任何函数之外)声明的常量、类型、变量或函数(但不是方法)的标识符的范围是包块。

我猜这意味着标识一个方法的范围不是包块。

那是什么呢?我没有在规范中找到任何信息。

2个回答

4

方法名称没有作用域。它们必须始终由值或类型限定。


3

Go编程语言规范

方法声明

方法是带有接收器的函数。方法声明将标识符(方法名)绑定到一个方法,并将该方法与接收器的基础类型相关联。

接收器通过在方法名之前指定一个额外的参数部分来指定。该参数部分必须声明一个单个非可变参数,即接收器。其类型必须为T或*T形式(可能使用括号),其中T是类型名称。由T表示的类型称为接收器基础类型;它不能是指针或接口类型,并且必须在与方法相同的包中定义。该方法被称为绑定到基础类型,方法名仅在类型T或*T的选择器中可见。


据说该方法是绑定到基础类型的,并且该方法名仅在类型T或*T的选择器中可见。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接