困境
考慮以下Go 程式碼片段:
//go:build (386 || amd64 || amd64p32) && gccgo // +build 386 amd64 amd64p32 // +build gccgo package cpu
作為建構標籤, // build似乎就足夠了。為什麼明確指定//go:build?為什麼 //go:build 的文檔很難找到,而 // build 有大量文檔?
Go 1.18:一條新路徑
新指令 / /go:build 現在是首選的條件編譯方法,工具鏈主動刪除舊的 // 建構指令。
Go 1.17: Go 1.17 中引入了 //go:build
//go:build 來取代 // build。它有幾個優點:
共存和過渡
兩個指令共存以實現平穩過渡。
語法變更與相容性
前進
//go:build 是 Go 中條件編譯的建議方法。其改進的語法、Go fmt 相容性以及與 // 建置的共存確保了向 Go 開發的未來的無縫過渡。
以上是`//go:build 與 // build:您應該在 Go 中使用哪個條件編譯指令?的詳細內容。更多資訊請關注PHP中文網其他相關文章!