golang中如何区分包名和对象名

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)

}

这个问题是追我的,什么是最快的方法来判断它是包名还是对象名,如上面的代码,在main func中,fmt被称为包名,因为大家都知道。但是什么时候来到xxx.Println(),你怎么知道是包名还是对象名,假设main函数有很多行代码,很难确定对象“xxx”的声明,还有,导入的包很多,你很难搜索 import() 的每一行来查看包中是否列出了“xxx”,你怎么知道 xxx 是什么?


和func Println一样,你直接到yyy.Print(3),func声明中的接收者很难找到,因为它在屏幕外,你怎么知道yyy是最快的方式,yyy可能是包名称和接收器名称。


如果没有这样更简单的方法,那是否意味着我应该始终首先搜索 import() 列出的包,然后将屏幕滚动到 func 声明的最开头以查找接收者名称是什么,然后我就可以知道了这是什么?听起来太花时间了!


凤凰求蛊
浏览 268回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go