Go中的条件编译
回答
Go没有条件编译或条件导入。处理C代码中的类型差异。
分离出特定于平台的东西到一个单独的文件中,例如stuff.go
现在用的版本不同平台取代stuff.go,像stuff_darwin.go(适用于Mac),stuff_windows.go,stuff_linux.go等
如果文件中有这样的一个后缀,go命令将仅在指定的平台上编译它。
这真的很高兴知道。 –
在package go/build的[overview](http://golang.org/pkg/go/build/#overview)中的“Build Constriants”中有记录。 – Sonia
这实际上是一个很棒的解决方案(它符合Go)。 –
- 1. 在Windows中编译Go文件?
- 2. Scala中的条件编译
- 3. Python中的条件编译
- 4. OCaml中的条件编译
- 5. flex中的条件编译
- 6. Xcode中的条件编译
- 7. 条件编译
- 8. 如何为Go编译8g和6g Go编译器
- 9. 条件编译Makefile中
- 10. 条件JIT编译
- 11. Golang条件编译
- 12. GWT条件编译
- 13. yacc条件编译
- 14. MSBuild条件编译
- 15. gcc条件编译
- 16. 为Windows Phone编译Go
- 17. 条件编译的问题
- 18. Xcode的条件编译
- 19. 与Debug.Assert的条件编译
- 20. fastScrollThumbDrawable的条件编译?
- 21. iOS上的条件编译
- 22. 基于Delphi 2009中的编译器指令的条件编译
- 23. 如何在Go中编译程序
- 24. 在Windows中编译.go ...&可以python连接到Go吗?
- 25. limits.h中的条件编译语句
- 26. ObjC Cocos2D中的条件编译
- 27. Razor中的条件编译已关闭?
- 28. LaTeX文档中的条件编译
- 29. Literate Haskell中的条件编译
- 30. RPG中的条件编译(LE)
Go实际上使用文件名后缀进行条件编译,正如andyBallholm的答案所示。 –
Downvoters会讨厌:)。尽管如此,@peterSO对于我的特殊问题有正确的答案。原来Mac的东西是红鲱鱼。真正的问题是库的版本,它只能在头文件中被检测为'#define'。 '_darwin.go'或'_linux.go'只会掩盖问题,直到其中一个用更新后的不兼容更新它们的ENet库。 –