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)
}