Почему указатели на стек горутины нестабильны?

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

При росте стека Go копирует весь стек в новое место и обновляет указатели. Это значит что адрес локальной переменной может измениться между вызовами функций. Runtime знает layout стека и корректирует указатели, но unsafe.Pointer на стековую переменную может стать невалидным. Это одна из причин почему unsafe опасен.

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

Как реализовать Valuer interface?