Go規(guī)范說:任何其他類型 T 的方法集由接收者類型為 T 的所有方法組成。 對應(yīng)指針類型 *T 的方法集是所有接收者為 *T 或 T 的方法的集合(也就是說,它還包含噸)。我的理解是:T 有自己的方法集,而 *T 有自己的方法集加上 T 的方法集,因為它可以將接收者 *T 解引用到 T 并調(diào)用方法。因此,我們可以使用變量類型 T 的接收者 *T 調(diào)用一些方法。所以我決定驗證我的邏輯:package mainimport ( "fmt" "reflect")type User struct{}func (self *User) SayWat() { fmt.Println(self) fmt.Println(reflect.TypeOf(self)) fmt.Println("WAT\n")}func main() { var user User = User{} fmt.Println(reflect.TypeOf(user), "\n") user.SayWat()}http://play.golang.org/p/xMKuLzUbIf我有點困惑??雌饋砦铱梢栽?T 上調(diào)用“of *T”的方法?我有一個更廣泛的例子http://play.golang.org/p/RROPMj534A,這也讓我感到困惑。是否有一些反之亦然的類型推斷?我是否遺漏了什么,或者我的邏輯不正確?
- 1 回答
- 0 關(guān)注
- 196 瀏覽
添加回答
舉報
0/150
提交
取消