如何在GO中导出所有包API名称

时间:2012-05-14 04:59:34

标签: go

导出到api.txt文件,例如

fmt.Println(params...)
net.LookupIP(params...)
...

逐行

我将此用于IDE自动完成

3 个答案:

答案 0 :(得分:2)

正如其他人所说,gocode可能已经做了你想要的。但无论如何,要列出包的导出API,您可以使用go tool api <pkg>。 e.g。

$ go tool api runtime | grep func

pkg runtime, func Breakpoint()
pkg runtime, func CPUProfile() []byte
pkg runtime, func Caller(int) (uintptr, string, int, bool)
pkg runtime, func Callers(int, []uintptr) int
pkg runtime, func FuncForPC(uintptr) *Func
pkg runtime, func GC()
...

答案 1 :(得分:1)

go存储库中已经有一个包含完整Go1 API的文本文件: http://code.google.com/p/go/source/browse/api/go1.txt

但我建议你设置gocode(如果还没有,可以为你的IDE编写一个小插件)。它为变量和包提供了上下文相关的自动完成功能,即使它们不是标准库的一部分或者使用不同的名称导入它们。

答案 2 :(得分:0)

解析包文件,遍历TLD,收集导出和公开的标识符,并且您几乎是gocode多年来的地方。

相关问题