首先,先跟自己說聲辛苦了~~鐵人賽完成一半嘍~~
不敢說對golang非常瞭解,但至少懂了一些皮毛XDD
今天要來探討的主題是方法method
,
method方法
是一個帶有receiver參數
的函式,
學過其他程式語言的朋友,在中後期都會學習到類別class
,
但golang不是物件導向程式語言,
不過他提供了receiver參數
,可以作出類似物件的功能,
宣告方式如下:
func (接收型別名稱 接收型別) 方法名稱() {
//程式內容
}
程式範例:
package main
import "fmt"
// 建立一個矩形的結構
type Rec struct {
high int
weight int
}
// 建立帶有Rec型別的函式,計算面積
func (r Rec) area() int {
return r.high * r.weight
}
func main() {
var r1 Rec
r1.high = 10
r1.weight = 20
fmt.Println("high = ", r1.high, " weight = ", r1.weight)
fmt.Println("area = ",r1.area())
}
輸出結果:
high = 10 weight = 20
area = 200