Большинство людей не знают, что в Go есть специальный синтаксис для директив. К сожалению, это не настоящий синтаксис, а просто комментарий. Например, //go:noinline приводит к тому, что следующее объявление функции никогда не будет встроено и иногда бывает полезно.
Директива //go:nosplit указывает, что функция должна пропускать стандартную проверку переполнения стека. Чаще всего это используется в низкоуровневом коде рантайма, который вызывается в моменты, когда прерывание текущей горутины может быть небезопасным.
В статье больше подробностей.
18.07.2025
Похожее
17.04.2026
Черный ящик
Вдохновившись механизмом trace.FlightRecorder, появившимся в Go 1.25, автор реши...
16.04.2026
Версионирование
В статье автор делится опытом разбора инцидента, где отсутствие информации о вер...
15.04.2026
Константные мапы
В Go существует стандартная карта, которая для миллиона записей потребляет около...
14.04.2026
Вызываем Rust из Go
В принципе, нет никаких сложностей работать с Rust через cgo. Но автор решил зам...