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 回答
- 0 關注
- 287 瀏覽
添加回答
舉報
0/150
提交
取消