лучше избегать использования слайсов с поинтерами на структуры
[]*SomeStruct
Пример: https://medium.com/@philpearl/bad-go-slices-of-pointers-ed3c06b8bb41
В чем может быть недостаток у такого подхода?
Ведь если мы используем поинтеры, то при переходе в другую область видимости (например входной аргумент в функции) го не будет копировать структуры целиком
Какой аргумент не будет?
Копировать будет в обоих случаях, как я понимаю. Просто в случае со структурами без поинтеров копировать придется все структуры целиком со всеми данными. В случае с поинтерами копируются только адреса памяти, где хранятся эти структуры
слайс указателей это ужас для GC
А слайс сам по себе не поинтер?
поинтер, но не всегда в куче
Что именно вы передаёте в функцию? Слайс? Поинтер на слайс? Слайс поинтеров?
Передаю слайс поинтеров на структуры
Обсуждают сегодня