1 回答

TA貢獻1846條經驗 獲得超7個贊
Go 編程語言規范
方法聲明
方法是具有接收者的函數。方法聲明將標識符、方法名稱綁定到方法,并將該方法與接收者的基類型相關聯。
接收器是通過方法名稱之前的額外參數部分指定的。該參數部分必須聲明一個非可變參數,即接收器。它的類型必須是 T 或 *T(可能使用括號)的形式,其中 T 是類型名稱。T所表示的類型稱為接收者基類型;它不能是指針或接口類型,并且必須在與方法相同的包中定義。該方法被稱為綁定到基類型,并且方法名稱僅在類型 T 或 *T 的選擇器中可見。
不可以。它可以是指針或接口類型以外的任何類型。
例如,用作string
基礎類型,
package main
import (
? ? "fmt"
? ? "strings"
)
type Caser interface {
? ? Upper() string
? ? Lower() string
}
type Str string
func (s Str) Upper() string {
? ? return strings.ToUpper(string(s))
}
func (s Str) Lower() string {
? ? return strings.ToLower(string(s))
}
func main() {
? ? str := Str("Forty-Two")
? ? fmt.Println(str)
? ? up := str.Upper()
? ? fmt.Println(up)
? ? lo := str.Lower()
? ? fmt.Println(lo)
}
游樂場: https: //play.golang.org/p/9RDRTftqWot
輸出:
Forty-Two
FORTY-TWO
forty-two
- 1 回答
- 0 關注
- 131 瀏覽
添加回答
舉報