导出到 api.txt 文件,如
fmt.Println(params...)
net.LookupIP(params...)
...
逐行
我用它来 IDE 自动完成
正如其他人所说,gocode 可能已经完成了您想要的工作。但无论如何,要列出一个包的导出 API,您可以使用go tool api <pkg>
. 例如
$ 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()
...
go 存储库中已经有一个包含完整 Go1 API 的文本文件: http ://code.google.com/p/go/source/browse/api/go1.txt
但是我建议您设置gocode(如果还没有的话,可以为您的 IDE 编写一个小插件)。它为变量和包提供了上下文相关的自动完成功能,即使它们不是标准库的一部分,或者当它们以不同的名称导入时也是如此。
解析包文件,遍历 TLD,收集导出和暴露的标识符,你几乎是 gocode 多年来的位置。