[Golang]的建立约束怎么解决?

2021-03-02 16:08:39 +08:00
 phpIsNumberOne

我用一个需求,使用 go 实现了;但是是分系统的,准确的说是分别写了个 Windows 下的函数和非 Windows 下的函数。在 Windows 系统下的函数引用了包golang.org/x/sys/windows

然后调用的时候类似这样:

if runtime.GOOS == "windows"{
    //....
}else{
   //...
}

运行的时候就报了构建约束的错误,难道就不能把他两放一起了?

641 次点击
所在节点    问与答
2 条回复
Evrins
2021-03-02 17:02:24 +08:00
以这个包为例
github.com/zach-klippenstein/goadb

executable.go
executable_unix.go
executable_win.go

// +build windows
// +build darwin freebsd linux netbsd openbsd

区分不同系统编译
phpIsNumberOne
2021-03-02 21:27:52 +08:00
@Evrins 非常感谢,我已经彻底悟了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/757681

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX