根据规范(“声明和范围”):
表示在顶层(任何函数之外)声明的常量,类型,变量或函数(但不是方法)的标识符的范围是包块。
我想这暗示着表示方法而不是包块的标识符范围。
那是什么?我没有在规范中找到任何信息。
答案 0 :(得分:5)
方法名称没有作用域。它们必须始终由值或类型限定。
答案 1 :(得分:3)
The Go Programming Language Specification
方法是具有接收器的函数。方法声明绑定了 标识符,方法名称,方法,并将该方法关联 带有接收者的基本类型。
接收器是通过在 方法名称。该参数部分必须声明一个非变量 参数,接收者。其类型必须为T或* T (可能使用括号),其中T是类型名称。表示的类型 用T表示的是接收方基本类型;它不能是指针或 接口类型,它必须与 方法。据说该方法绑定到基本类型和方法 名称仅在类型T或* T的选择器中可见。
据说该方法绑定到基本类型,并且方法名称为 仅在类型T或* T的选择器中可见。