KeepAlive(x) гарантирует что x не будет собран GC до этой точки в коде. Нужен когда передаёшь указатель в C через cgo или syscall — GC может собрать объект пока C код его использует. KeepAlive — это no-op в рантайме, но compiler marker. Без него финализер может сработать до завершения cgo вызова.
Как работает runtime.KeepAlive и зачем нужен?
Senior
42 просмотровAFK Offer AI
Что такое go:nosplit?