ざっくり言うと // +buildは、一般的な&&や||を使う論理式の書き方じゃないので分かりにくかった 複数行書くこともできたので暗黙的な論理演算になり、意図しないビルド条件になることがあった だから、より身近で明確な書き方ができる//go:buildへ置き換えることになった(記述位置の条件とかも見直してる) Go1.17でビルドタグの書き方が変わることがアナウンスされた 2021年8月のGo1.17から//go:buildが使えるようになりました。 後でも触れるのですが、もちろん後方互換性が維持されているので// +buildも使えます。 // +buildだけが指定されているファイルに対してgo fmtを実行すると、同等の//go:buildがすぐ上の行に追加されるようになっています。 // +buildはいくつかの問題を抱えていた もともと// +buildに指定できるのはOS名か