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

时间:2018-09-25 12:38:47

标签: go platform

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

https://golang.org/pkg/

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

或通过go doc命令脱机,例如syscall软件包的软件包doc。

go doc syscall

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

根据我们所针对的平台,有些软件包具有不同的API,其中最著名的是syscall软件包。

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

1 个答案:

答案 0 :(得分:5)

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命令前加上我们感兴趣的新平台/体系结构,例如适用于Windows的syscall软件包文档(在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将显示当前系统的syscall文档。如果要godoc显示其他系统的syscall文档,请将$ GOOS和$ GOARCH设置为所需的系统。例如,如果要在linux / amd64上查看freebsd / arm的文档,请将$ GOOS设置为freebsd,将$ GOARCH设置为arm。