获取go语言中函数的包名称

获取go语言中函数的包名称,go,packages,Go,Packages,我需要获取Go中函数的包名。 例如,如果输入为Println,则输出必须为fmt。如果输入为StatusText,则输出必须为net/http 实现这一点的正确方法是什么?从您的评论来看,您似乎在寻找类似于godoc的命令行工具,但它不需要类似于godoc net/http StatusText的东西,而是希望能够使用doc StatusText并让它为您找到http.StatusText(可能还有其他foo.StatusText函数) Rob Pike的工具可以做到这一点,它可以查看GOPAT

我需要获取Go中函数的包名。 例如,如果输入为
Println
,则输出必须为
fmt
。如果输入为
StatusText
,则输出必须为
net/http


实现这一点的正确方法是什么?

从您的评论来看,您似乎在寻找类似于
godoc
的命令行工具,但它不需要类似于
godoc net/http StatusText
的东西,而是希望能够使用
doc StatusText
并让它为您找到
http.StatusText
(可能还有其他
foo.StatusText
函数)

Rob Pike的工具可以做到这一点,它可以查看
GOPATH
中的所有包(尽管它的输出不仅仅是原始问题要求的包名)

您可以通过:
go install robpike.io/cmd/doc


或者您实际上是在寻找从Go代码而不是命令行获取此信息的方法吗?

如果您添加了为什么需要此功能的信息,您可能会得到更好的答案。您检查过了吗?我只需要获取函数的文档。但问题是我只知道函数名,不知道函数名它所属的包。尝试一下
godoc-qprintln | sed-n-e'/Functions/,$p'| head-n2
注意,doc工具将是即将发布的Go 1.5版本的一部分,因此在标准版本中,您将能够编写“Go doc Println”。