Как добавить теги сборки Golang

Kak Dobavit Tegi Sborki Golang



Теги сборки в Go — это мощная функция, которая позволяет нам условно включать или исключать определенный код в процессе сборки на основе определенных ограничений сборки. Такая гибкость позволяет нам создавать сборки для конкретных платформ для различных операционных систем, архитектур или других требований, специфичных для конкретной среды. Теги сборки — это специальные комментарии, которые добавляются в начало исходного файла, прямо над объявлением пакета. Эти теги предоставляют инструкции системе сборки Go о том, как обрабатывать код в этом файле во время процесса компиляции.

Пример 1. Добавьте тег сборки Golang для системы Linux.

Чтобы настроить операционную систему Linux, мы можем добавить тег сборки «// +build linux».

// идем собирать Linux

// +сборка Linux

упаковка основной

Импортировать 'ФМТ'

функция основной () {

ФМТ . Println ( «Привет, пример системы Linux» )

}

Здесь мы устанавливаем ограничения сборки в Go, которые указывают, что код должен быть собран только в том случае, если целевой системой является Linux. После этого мы определяем пакет и импортируем необходимое выражение для кода. Затем мы входим в метод main(), где печатаем сообщение, используя вызов «Println» из пакета «fmt».







Таким образом, сообщение отображается на консоли успешно для операционной системы Linux:





Пример 2. Добавьте тег сборки Golang для системы Windows.

Когда мы просто хотим, чтобы код выполнялся на платформе Windows, мы используем тег сборки «// +build windows» в начале файла. Благодаря этому мы можем быть уверены, что код будет включен в сборку только в том случае, если предполагаемой платформой является Windows.





// +создать окна

упаковка основной

Импортировать 'ФМТ'

функция основной () {

ФМТ . Println ( «Привет, пример Windows!» )

}

Здесь мы используем ограничение сборки «// +build windows», чтобы гарантировать, что код компилируется и выполняется только при сборке для платформы Windows. После этого подключаем необходимый для кода пакет с модификатором package и import. Затем идет функция main(), которая использует функцию println() для печати оператора при создании тегов окна в Golang.

Когда мы собираем и запускаем эту программу в системе Windows, она показывает «Привет, пример Windows!» сообщение на консоль. Обратите внимание, что программа не будет собираться или выполняться в других операционных системах из-за ограничений сборки.



Пример 3. Добавьте тег сборки Golang для системы, отличной от Windows.

И наоборот, если мы хотим исключить код при сборке для Windows, вы можете использовать знак «!» восклицательный знак с тегом сборки.

// +построить !окна

упаковка основной

Импортировать 'ФМТ'

функция основной () {

ФМТ . Println ( «Привет, кроме Windows!» )

}

Здесь мы создаем директиву ограничения, которая указывает, что код должен быть создан и выполнен на платформах, отличных от Windows. Восклицательный знак (!) перед Windows означает, что этот код должен быть включен для всех платформ, кроме Windows. Затем мы приступаем к той же программе, что и в предыдущей функции, где мы сначала добавляем пакеты и вызываем функцию main() для выполнения сообщения, передаваемого внутри функции println().

Таким образом, на выходе генерируется сообщение на консолях операционной системы. Имейте в виду, что он не будет выполняться в операционной системе Windows из-за ограничений сборки:

Пример 4. Добавьте тег сборки Golang с логикой OR

Чтобы включить код при настройке Windows ИЛИ Linux, мы можем использовать тег сборки «// +build windows Linux».

// +сборка Windows Linux

упаковка основной

Импортировать 'ФМТ'

функция основной () {

ФМТ . Println ( «Привет, пользователи Windows или Linux» )

}

Здесь мы применяем ограничение сборки с логическим ИЛИ, которое предназначено для сборки как для операционных систем Windows, так и для Linux. Строка «// +build windows Linux» указывает, что этот файл должен быть включен в сборку, если целевой платформой является Windows или Linux. Затем мы импортируем пакет «fmt» из стандартной библиотеки Go, который обеспечивает базовые функции ввода и вывода. В основной функции мы печатаем строковый оператор «Привет, пользователи Windows или Linux», используя функцию Println() из пакета «fmt».

Следовательно, выходные данные извлекаются следующим образом. Одно и то же сообщение генерируется независимо от того, используем ли мы операционную систему Windows или Linux:

Пример 5. Добавьте тег сборки Golang с помощью логики AND.

Мы можем указать несколько тегов сборки для создания более сложных условий. Команда «// +build windows,linux» может использоваться для генерации кода как для Linux, так и для Windows.

// +создать окна,386

упаковка основной

Импортировать 'ФМТ'

функция основной () {

ФМТ . Println ( «Это 32-битная Windows» )

}

Здесь определяется ограничение сборки: «// +build windows,386», которое указывает, что файл Go должен быть включен в сборку, если целевой платформой является 32-разрядная версия Windows. Обратите внимание, что мы используем запятую между Windows и 386, которая действует как логический оператор И. Это означает, что оба условия должны быть удовлетворены, чтобы код был включен в сборку.

Затем, как и в предыдущем примере, мы импортируем пакет «fmt» из стандартной библиотеки Go, чтобы использовать функцию Println() для вывода. У нас есть функция main() программы, в которой оператор передается в качестве аргумента функции println().

Когда мы собираем и запускаем эту программу в 32-битной системе Windows, она отображает указанное сообщение в качестве вывода. Однако если мы попытаемся собрать и запустить его в другой операционной системе или архитектуре, он не будет включен в сборку:

Пример 6. Добавьте тег сборки Golang для определенной функции

Более того, теги сборки также можно применять к определенным функциям в файле. Из-за ограничений сборки теперь мы можем условно включать или удалять определенные функции.

упаковка основной

Импортировать 'ФМТ'

функция основной () {

ФМТ . Println ( «Привет, наслаждайтесь!» )

печатьWindowsMessage ()

}

// +создать окна

функция печатьWindowsMessage () {

ФМТ . Println ( «Привет из операционной системы Windows» )

}

Здесь мы теперь переходим к методу main(), который использует метод Println(), предоставляемый пакетом «fmt», для печати сообщения в начале. Затем мы развертываем функцию printWindowsMessage() ниже функции main() и указываем ограничение сборки «// +build windows». Это указывает на то, что функция включается в сборку только в том случае, если целевой платформой является Windows.

Наконец, мы устанавливаем функцию printWindowsMessage() для печати указанного сообщения «Привет из операционной системы Windows» с помощью функции Println().

Таким образом, извлекаются выходные данные, которые отображают как общее сообщение, так и сообщение, специфичное для платформы. Обратите внимание: если мы соберем и запустим его в другой операционной системе, функция printWindowsMessage() не будет включена в сборку, и будет отображаться только общее сообщение:

Заключение

Добавление тегов сборки в Go дает возможность настроить включение кода в процесс сборки. Используя теги сборки, мы можем создавать сборки для конкретной платформы, оптимизировать код для различных архитектур и даже условно включать определенные функции или возможности.