我正在寻找一个应该解析go源代码并返回与Go标准库相关的标识列表的库。例如,在处理以下代码后:
package main
import (
"os"
"os/signal"
"syscall"
)
func main() {
c := make(chan os.Signal, 1)
signal.Notify(c, syscall.SIGINT, syscall.SIGUSR2)
}
输出应类似于以下内容:
os: Signal: 1
os/signal: Notify: 1
syscall: SIGINT: 1, SIGUSR2: 1
答案 0 :(得分:0)
我不确定您要具体做什么,但是通常令牌列表并不是特别有用。通常,您想看一下AST(抽象语法树),它在更有意义的上下文中为您提供了大多数相同的信息。为此,您可能想看看go/ast
和go/parser
标准库软件包应该为您提供所需的大部分内容。