Как передаются структуры в Go — по значению или по ссылке?

Junior
1.6k просмотров
AFK Offer AI

Всегда по значению. Когда передаёшь структуру в функцию — создаётся полная копия. Если хочешь избежать копирования или изменять оригинал — передавай указатель *MyStruct.

Правило: маленькие структуры (2-3 поля) — по значению, большие — по указателю.

Слайсы, мапы и каналы содержат внутренний указатель, поэтому их копирование не копирует данные — только заголовок.

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

Что такое интерфейс в Go и для чего он нужен?