Avatar ·

是否可以获取所有Go标准包的列表?如何操作?

大家好!我大约一个月前开始学习Go,正在编写我的第一个小项目——一个带有几个endpoint的简单HTTP服务器。在这个过程中,我经常发现自己不了解标准库的所有功能。例如,我偶然编写了自己的JSON处理函数,而Go中已经有`encoding/json`。或者花了一个小时实现命令行标志解析,直到我了解到`flag`。 我很好奇:是否可以通过编程或CLI方式获取Go标准库中包含的所有包的完整列表?我尝试过`go list std`,但它只输出一个名称列表,我不确定这是否是所有包。我还听说过`go doc`,但它一次只显示一个包的文档。 以下是我已经尝试过的: ```go // main.go package main import ( "fmt" "os/exec" ) func main() { cmd := exec.Command("go", "list", "std") out, _ := cmd.Output() fmt.Println(string(out)) } ``` 但这段代码有时能工作,有时不能。