Golang 1.17.x 空指针类 能正常调用类方法

xiaoyi510 · · 866 次点击
看看下面这几种方式能否对你有启发 ```go type A struct { } func (a *A) Exec() string { return "123" } func Exec(a *A) string { return "123" } func TestNil(t *testing.T) { r1 := (*A).Exec(nil) t.Log(r1) // 输出 123 r2 := (*A)(nil).Exec() t.Log(r2) // 输出 123 r3 := Exec(nil) t.Log(r3) // 输出 123 } ```
#3
更多评论
![image.png](https://static.studygolang.com/211230/0e67a319d05c3b6e07ce90bf28b7a053.png) 不对 我使用1.16.5也不报错 朋友的go就报错 ![image.png](https://static.studygolang.com/211230/37e9d1251c23e52ec474e770b487b4ad.png)
#1
``` func (this *A) Test() string { return "123" } ``` 不报错 报错 此报错我觉得是正常的毕竟没实例化 ``` func (this A) Test() string { return "123" } ```
#2