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

xiaoyi510 · · 893 次点击
涉及到对golang中结构体的定义。从这一点严格来说golang不是OO语言,更接近于c语言、而不是c++。 golang 中所有的方法都写在了结构体外,编译器应该将其处理为全局静态方法,只是第一个参数标明了它所属结构体。 A.Test() 方法没有访问this的结构体成员变量,不报错是正常的。如果访问了this的成员变量,就会报错。
#6
更多评论
![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