package main
import (
......
"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)
}
這個問題是找到了我,什麼是判斷它是否是包的名稱或對象名稱,如上面的代碼形式出現,主要的最快方法func,fmt被稱爲包名,因爲每個人都知道。但是當涉及到xxx.Println()時,如何知道它是包名還是對象名,假定主函數包含許多代碼行,並且很難指出對象「xxx」的聲明,並且導入了很多包,並且很難搜索import()的每一行以查看包中是否列出了「xxx」,怎麼辦你告訴xxx是什麼?如何在golang包名稱和對象名稱之間distingish
和func Println一樣,你只是直接轉向yyy.Print(3),func聲明中的接收器很難找到,因爲它在屏幕之外,你怎麼知道yyy是最快的方法,yyy可以是包名稱和接收者名稱。
如果沒有這樣簡單的方法,是否意味着我應該總是先搜索import()列出的包,然後將屏幕滾動到func聲明的最開始處以查找接收者名稱,以及那麼我可以知道它是什麼?這聽起來需要太多時間!