代码之家  ›  专栏  ›  技术社区  ›  icza

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

  •  4
  • icza  · 技术社区  · 7 年前

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

    https://golang.org/pkg/

    这只包含在 linux 平台( GOOS ) amd64 建筑学 GOARCH )

    或通过 go doc 命令,例如 syscall 包裹。

    go doc syscall
    

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

    一些软件包根据我们的目标平台有不同的API,最著名的是 系统调用 包裹。

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

    1 回复  |  直到 7 年前
        1
  •  5
  •   icza    7 年前

    1。在线的

    通过附加 GOOS GOARCH 查询参数,类似于环境变量。

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

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

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

    2。脱机

    Go工具具有默认的目标平台和体系结构,可以用 古斯 高拱 环境变量。默认情况下 go doc syscall 将显示默认平台和体系结构的包文档。

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

    在Unix系统(如Linux、OS-X)上,我们只需预先准备 go doc 使用我们感兴趣的新平台/体系结构进行指挥,例如 系统调用 对于Windows(在Linux上执行):

    GOOS=windows go doc syscall
    

    就这样。要快速检查它是否工作,请打印 动态链接库 类型及其方法:

    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)
    

    这记录在 系统调用 包裹:

    详细信息因基础系统而异,默认情况下,godoc将显示当前系统的syscall文档。如果希望godoc显示另一个系统的syscall文档,请将$goos和$goarch设置为所需的系统。例如,如果要在Linux/AMD64上查看freebsd/arm的文档,请将$goos设置为freebsd,将$goarch设置为arm。

    推荐文章