如何访问特定于平台的软件包文档?



我们可以在官方网站上在线访问 Go 的包文档:

https://golang.org/pkg/

这仅包含linux平台(GOOS)、amd64架构(GOARCH)上可用的软件包文档。

或通过go doc命令离线,例如syscall包的包文档。

go doc syscall

这显示了 Go SDK 平台的文档。

有些包根据我们针对的平台有不同的 API,最著名的是syscall包。

我们如何在线和离线访问特定于平台的软件包文档?

1. 在线

在线,可以通过附加GOOSGOARCH查询参数(类似于环境变量)在官方 Go 主页上访问特定于平台的文档。

例如,若要访问 Windows 64 位平台的syscall包文档,请访问:

https://golang.org/pkg/syscall/?GOOS=windows&GOACH=amd64

要快速验证它是否有效,请搜索type DLL短语(或简称DLL),因为这些短语不会出现在 Linux 的 syscall 包中。

2. 离线

go 工具具有默认的目标平台和体系结构,可以使用GOOSGOARCH环境变量覆盖。因此,默认情况下go doc syscall将显示默认平台和体系结构的包文档。

要获取其他平台和/或架构的文档,我们需要做的就是更改这些环境变量。

在 unix 系统(例如 linux、OS-X)上,我们可以简单地在go doc命令前面加上我们感兴趣的新平台/架构,例如 Windowssyscall的包文档(在 Linux 上执行):

GOOS=windows go doc syscall

仅此而已。要快速检查它是否有效,请打印DLL类型及其方法:

GOOS=windows go doc syscall DLL

示例输出:

type DLL struct {
Name   string
Handle Handle
}
A DLL implements access to a single DLL.

func MustLoadDLL(name string) *DLL
func (d *DLL) FindProc(name string) (proc *Proc, err error)
func (d *DLL) MustFindProc(name string) *Proc
func (d *DLL) Release() (err error)

这记录在syscall包中:

详细信息因底层系统而异,默认情况下,godoc 将显示当前系统的系统调用文档。如果您希望 godoc 显示另一个系统的系统调用文档,请将$GOOS和$GOARCH设置为所需的系统。例如,如果您想在 linux/amd64 上查看 freebsd/arm 的文档,请将 $GOOS 设置为 freebsd,$GOARCH设置为 arm。

最新更新