跨平臺
GOOS=linux GOARCH=amd64 go build <packageName>
條件編譯
- go 不像c一樣能夠通過宏定義實現一個文件內部分代碼的條件編譯,他只支持文件級別的條件編譯
- 方法一: 文件開始的編譯標籤
- 注意編譯標籤需要和包聲明(package main)空一格,否則會被視爲聲明的註釋
- 一行內的所有條件爲或的關係
- 每一行之間的條件爲與的關係
// +build dawin freebsd
// +build !linux
-
上面的跨平臺是自動觸發的,我們還可以手動觸發一些條件編譯
-
方法二:文件後綴
- 如果你的源文件包含後綴:$GOOS.go,那麼這個源文件只會在這個平臺下編譯,$GOARCH.go也是如此。
- 這兩個後綴可以結合在一起使用,但是要注意順序:$GOOS$GOARCH.go, 不能反過來用:$GOARCH$GOOS.go
-
參考資料:https://blog.csdn.net/varding/article/details/12675971