```go
type A struct {
r int
}
func (a A) FuncA() {}
type B A
type C *A
func main() {
var b B
var a A
var c C
a.FuncA() //legal
b.FuncA() //illegal
c.FuncA() //illegal
(*c).FuncA() //legal
fmt.Println(b.r) //legal
fmt.Println(c.r) //legal
}
```
为什么b.FuncA() 和 c.FuncA() 不合法,而(*c).FuncA(),b.r和c.r合法呢?
有疑问加站长微信联系(非本文作者)