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庫。 –