Различия между //go:build и // build
В Go 1.17 новая директива условной компиляции под названием //go:build была введена в качестве замены старая // директива сборки. Хотя обе директивы служат одной и той же цели - указанию ограничений сборки, существует несколько ключевых отличий и преимуществ использования //go:build.
Различия в синтаксисе:
Детали реализации:
Преимущества //go :build:
Использование:
Хотя обе директивы используются для указания ограничений сборки, //go:build обычно предпочтительнее из-за его преимуществ. Вот пример, демонстрирующий использование обеих директив:
//go:build linux && amd64 package main // build linux,amd64 package main
В этом примере обе директивы дадут один и тот же результат: основной пакет будет включаться только при компиляции для Linux и 64-битной архитектуры AMD.
Вывод:
//go:build предлагает несколько преимуществ по сравнению с // build, включая согласованный синтаксис, улучшенные сообщения об ошибках и поддержку go fmt. Это предпочтительная директива для указания ограничений сборки в Go 1.17 и более поздних версиях.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3