Структура описывает данные, а обычный интерфейс Go — требуемые методы. Именованный функциональный тип может реализовать интерфейс, если у него есть нужные методы.
Выравнивание означает размещение значения по адресу, кратному требованию его типа. Компилятор добавляет padding между полями структуры и иногда в её конце.
Выбор Go вместо Rust обосновывают требованиями конкретного компонента, компетенциями команды и стоимостью разработки, а не областью «кибербезопасность» вообще.
На одном P планировщика Go в каждый момент исполняется одна горутина с Go-кодом. Остальные могут быть готовы или ждать; это не то же самое, что число горутин в программе.
unsafe позволяет выполнять операции вне обычных гарантий системы типов Go. Его применяют точечно, когда безопасных средств недостаточно и риск оправдан измерениями.
Канал Go передаёт типизированные значения между горутинами. Запись в закрытый канал паникует; чтение сначала отдаёт буфер, затем нулевое значение и ok=false.