Build constraint — это директива, которая условно включает или исключает исходные файлы Go из компиляции в зависимости от конкретных условий, таких как операционная система, архитектура или пользовательские теги.
Build constraints позволяют тебе:
Build constraints указываются через комментарии в начале Go-файла:
//go:build os,arch
// +build os,arch
Самый распространённый подход использует директиву //go:build (Go 1.16+):
//go:build linux
Этот синтаксис чище и проще в поддержке, чем старый формат // +build.
Ограничения по операционной системе:
//go:build linux — компилируется только на Linux//go:build windows — компилируется только на WindowsОграничения по архитектуре:
//go:build amd64 — компилируется только на 64-битных системах//go:build arm64 — компилируется только на ARM64-системахПользовательские build-теги:
//go:build debug — компилируется при сборке с -tags=debug&&, ||, !)go build -tags=tagname активируют пользовательские constraints во время компиляцииОграничения сборки должны быть размещены после объявления пакета, чтобы компилятор Go распознал их перед разбором остальной части файла.
Новый — ещё не проверен сообществом
Вы