LINUX.ORG.RU

Golang return array and map

 


0

1

Как в правильном гоу стиле возвращать массив или map? Как более изящно это сделать и с наименьшими потерями производительности.

★★★★
Ответ на: комментарий от beastie

Можешь привести пример функции которая возращает массив или срез, с минимальными потерями памяти.

AUX ★★★★
() автор топика
Ответ на: комментарий от anonymous

Я даун прост, забыл тутошнюю разметку.

Срезы это прост указатель на array. И моешь смело передавать.

anonymous
()
Ответ на: комментарий от Deleted

Ну, вопрос был, как возвращать, а не как строить. ;) Но твой вариант конечно лучше.

beastie ★★★★★
()

Мне кажется, тебе нужен срез, а не массив. А так срезы и map'ы это reference types, и ты можешь их спокойно возвращать из функции как тебе показали выше. А вот возвращать структуру лучше по указателю, дабы избежать лишнего копирования, но опять таки, делать это нужно после бечмарков :)

joy4eg ★★★★★
()

Массивы (не срезы) в го передаются по значению, т.е. копируются, так что в целях оптимизации может быть целесообразнее передавать/возвращать их адрес.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.