尝试在我的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} }
我错过了什么吗?
答案 0 :(得分:8)
syscall中指定的变量取决于操作系统。
您可以为文件添加后缀,以指定应为其构建哪个操作系统:
// +build linux,386 darwin,!cgo
因此,您可以为每个操作系统使用特定的syscall
标志。