Как вызвать C код из Go?

Senior
279 просмотров
AFK Offer AI

Добавляешь import "C" и прямо над ним в комментарии пишешь C-код или #include. Например: // #include и потом import "C". Дальше вызываешь C-функции через пакет C: C.free(ptr), C.strlen(cstr). Для передачи строк используешь C.CString (Go→C) и C.GoString (C→Go). Важно: C.CString аллоцирует память в C-куче — нужно вручную вызывать C.free. Вызовы через CGO дороже обычных Go-вызовов примерно на 50-100 наносекунд из-за переключения стеков.

Следующий вопрос

Как работает map delete?