golang 編譯

跨平臺

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章