1. 什么是方法
方法就是一类带特殊的 接收者 参数的函数,即带了接收者的函数。方法接收者在它自己的参数列表内,位于 func 关键字和方法名之间。
具体实例如下:
package main
import (
"fmt"
"math"
)
type Vertex struct {
X, Y float64
}
//v为方法的接受者,Abs为方法名,float64为方法的返回值
func (v Vertex) Abs() float64 {
return math.Sqrt(v.X*v.X + v.Y*v.Y)
}
func main() {
v := Vertex{3, 4}
fmt.Println(v.Abs())
}
注意事项:接收者的类型定义和方法声明必须在同一包内;不能为内建类型声明方法。
type MyFloat float64
func (val MyFloat) Function() {
fmt.Println(val)
}