直接看手册,甚至看源码
有几个实用的命令,给你介绍一下。假设你用的是 Go 的较新版本,那么:
$ GO111MODULE=off GOPATH=$(go env GOROOT) go list all
就可以看到所有的标准库,相应的源代码就在 cd $(go env GOROOT)/src 下面,
然后你再用:
$ GO111MODULE=off go doc encoding/binary
就可以看到每个模块的文档,进一步关于 API 的文档也是可以看到的,
你自己 go help doc 了解一下
我为了方便起见,把上面的命令封装了一个别名,特别好用:
$ alias golist='GO111MODULE=off GOPATH=$(go env GOROOT) cachecmd -async -ttl=100000m -key="golist" go list all 2>/dev/null | grep -v "vendor\|internal\|example" | fzf --preview "go doc {}" --bind "enter:execute:(go doc {}) | less" --bind "ctrl-f:page-down" --bind "ctrl-b:page-up"'
命令比较复杂,主要是:
* 使用 go list all 来获取所有的模块列表
* 使用 go doc 来查看模块文档
* 使用 cachecmd 来加速 go list all
* 使用 fzf 来预览列表、过滤列表和快速补全,以及预览文档内容
希望对版友有所帮助。
BTW:刚想起来其实还有个 web 版的工具,好像叫 godoc 什么的,但似乎新版本已经移除了,
官网的文档也是这个 godoc 生成的,但因为在墙外再加上我喜欢看 term 所以就没折腾本地的 godoc
印象中 godoc 里的内容还是很全的,自己安装的第三方包也都会生成文档。
【 在 lioncat7 (lioncat) 的大作中提到: 】
: 解决了
: repeateTime := 27 - len(incoming.SrcAddr)
: if repeateTime != 0 {
: binary.Write(buff, binary.BigEndian, bytes.Repeat([]byte{0}, repeateTime))
: }
: 另外请问下 我只过了一遍 the go programming language
: 如果想快速过一下go都提供了哪些基础库 有什么推荐么
--
修改:flw FROM 27.38.197.*
FROM 27.38.197.*