go value receiver, pointer receiver 方法集
go 语言规范里定义的 method sets 规则 Values 可调用的方法(methods receivers) 备注 T (t T) funcXXX 为什么不能调用 (t *T) funcXXX,因为无法保证所有的Value 都可以获取到指针地址(addressable value) *T (t T) funcXXX and (t *T) funcXXX go 自动转化(dereferenced) *T --> T, 所以可以调用 为什么有些值无法获取地址? go spec: https://golang.org/ref/spec#Address_operators 说明了不能寻址的情况。 常见的不能寻址的情况: &m["key"] &afunc() &t.method() var ...阅读全文