方法
方法是与对象实例绑定的特殊函数。方法是面向对象。方法和函数区别在于前者有前置实例接收参数,编译器以此确定方法所属类型。
可以为当前包,以及除接口和指针以外的任何类型定义方法。
package main
import(
"fmt"
)
type N int
func (n N)toString()string{ //方法
return fmt.Sprintf("%#x",n)
}
func main(){
var a N = 25
fmt.Println(a.toString())
}
输出:
0x19
方法不支持重载,参数名没有限制。如方法内部并不引用实例,可省略参数名,仅保留类型。