如何访问特定于平台的包文档?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何访问特定于平台的包文档?相关的知识,希望对你有一定的参考价值。
我们可以在官方网站上在线访问Go的包文档:
这仅包含linux
平台(GOOS
),amd64
archicture(GOARCH
)上提供的包文档。
或者通过go doc
命令离线,例如syscall
包的包doc。
go doc syscall
这显示了Go SDK平台的文档。
有些软件包根据我们的目标平台有不同的API,最着名的是syscall
软件包。
我们如何在线和离线访问平台特定的包文档?
1.在线
可以在官方Go主页上访问在线平台特定文档,方法是附加GOOS
和GOARCH
查询参数,类似于环境变量。
例如,要访问Windows 64位平台的syscall
软件包文档,请访问:
https://golang.org/pkg/syscall/?GOOS=windows&GOACH=amd64
要快速验证它是否有效,请搜索type DLL
短语(或简称为DLL
),因为这些短语不会出现在linux的系统调用包中。
2.离线
go工具具有默认目标平台和体系结构,可以使用GOOS
和GOARCH
环境变量覆盖。因此,默认情况下,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将显示当前系统的系统调用文档。如果您希望godoc显示另一个系统的系统调用文档,请将$ GOOS和$ GOARCH设置为所需的系统。例如,如果要在linux / amd64上查看freebsd / arm的文档,请将$ GOOS设置为freebsd,将$ GOARCH设置为arm。
以上是关于如何访问特定于平台的包文档?的主要内容,如果未能解决你的问题,请参考以下文章