golang 的 man 手册?

6

go help虽然有用,但仍不如man手册表达力强。

那么,在基于Unix的系统上获取go二进制文件的man手册是否有任何方法?

如果没有,为什么这样的功能还没有实现,因为golang现在非常受欢迎?


Windows 上的 Man 手册页? - Volker
@Volker,问题中提到了“基于Unix的系统”。 - Eric
既然g++有man页面,为什么go没有呢? - Nidhin David
现在,“go help”文本对许多命令进行了动态更改,取决于您是否处于模块包中。为每个命令编写两个独立的手册可能会很繁琐,并且您总是必须添加后缀或其他内容才能查找所需的手册。 - Rag
令人震惊的是,Go语言竟然没有man手册。今天我在FreeBSD中输入了man go来查看构建可用选项,结果发现我的系统中的man手册有问题。 - M.E.
2个回答

7

您可以使用 goman 作为替代方案,这里介绍了它的详细信息

您可以查看 GitHub 项目christophberger/goman:虽然不是针对 Go 本身的,但可以修改以生成 Go 的 man 页面。

否则......go issue 101 是最古老的问题之一(2009年),并且仍未解决!
它原本应该通过一个官方 goman 命令来解决(请参见CL 5700081),但从未完成。


我通过 go get -u github.com/christophberger/goman 安装了它,并将 main () {..} 部分添加到 .bashrc 中,但当执行命令 goman 时,它显示 未找到命令 'goman' - Eric
@EricWang 你的 $GOPATH/bin 是否在 PATH 中?你能在 $GOPATH/bin 中看到 goman 吗? - VonC
它丢失了,我刚刚添加了它,现在可以找到命令 goman,似乎需要获取这些二进制文件的源代码才能从 goman xxx 中获得结果? - Eric
@EricWang 这就是我所说的“这不是针对Go本身的”意思:这不是一个理想的解决方案,只是一个需要改进的想法。 - VonC
@EricWang,https://codereview.appspot.com/5700081/中的源代码更适合于Go命令本身...但从未完成。 - VonC
显示剩余3条评论

2
对于Ubuntu,我找到了这个解决方案:https://github.com/golang/go/wiki/Ubuntu
例子 - Ubuntu 16.04和Golang 1.10 (2018-04)
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install golang-go

然后可以使用man手册。

例如:

man go
man go-get    # man page for `go get` sub command,
man gofmt

提示:

  • 最新版本的golang可能无法通过上述方法进行安装(我认为这有一些延迟)。
    我的解决方案是手动下载最新/所需版本的golang,并确保在$PATH中首先搜索手动安装的版本。
    这样,当使用which go时,它将找到手动安装的二进制文件,而不是通过apt-get安装的二进制文件。
    因此可以获得手册,同时仍然能够使用任何所需的golang版本。

@VonC 但是,我不确定其他基于Unix的系统是否有类似的解决方案,例如Centos / Mac。 - Eric
我不知道。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接