package mainimport (......"fmt"......)func main() { ...... xxx:=new(xxx) fmt.Println("1") ...... xxx.Println()//confusing}type xxx struct{ one int two string}func (yyy *xxx) Println(){ fmt.Println("2") yyy.Print(3)//confusing too}func (this *xxx) Print(a int){ fmt.Println(a)}这个问题是追我的,什么是最快的方法来判断它是包名还是对象名,如上面的代码,在main func中,fmt被称为包名,因为大家都知道。但是什么时候来到xxx.Println(),你怎么知道是包名还是对象名,假设main函数有很多行代码,很难确定对象“xxx”的声明,还有,导入的包很多,你很难搜索 import() 的每一行来查看包中是否列出了“xxx”,你怎么知道 xxx 是什么?和func Println一样,你直接到yyy.Print(3),func声明中的接收者很难找到,因为它在屏幕外,你怎么知道yyy是最快的方式,yyy可能是包名称和接收器名称。如果没有这样更简单的方法,那是否意味着我应该始终首先搜索 import() 列出的包,然后将屏幕滚动到 func 声明的最开头以查找接收者名称是什么,然后我就可以知道了这是什么?听起来太花时间了!
2 回答
- 2 回答
- 0 关注
- 267 浏览
添加回答
举报
0/150
提交
取消