系统调用变量未定义

时间:2014-12-08 15:53:31

标签: go system-calls

尝试在我的Mac上构建以下程序时,我遇到构建错误:undefined: syscall.TCPInfo即使该变量已明确记录http://golang.org/pkg/syscall/#TCPInfo

package main

import "syscall"

func main() {
    _ = syscall.TCPInfo{}
}

这是我的go工具版。

$ go version
go version go1.3 darwin/amd64

我认为这可能是一个缺乏操作系统支持的问题所以我在http://play.golang.org上尝试过,但看起来很多文档中的变量只是在syscall包中随机丢失:{{3} }

我错过了什么吗?

1 个答案:

答案 0 :(得分:8)

syscall中指定的变量取决于操作系统。

您可以为文件添加后缀,以指定应为其构建哪个操作系统:

// +build linux,386 darwin,!cgo

因此,您可以为每个操作系统使用特定的syscall标志。