Как стать автором
Обновить

Комментарии 6

При копировании примеров кода, стоит сохранять форматирование автора.
В первом же примере режет глаз код с лишними пробелами, не отформатированный gofmt (что в живой природе сейчас очень редко встречается). Посмотрел в оригинале, а там то все ок.
Спасибо. Исправил
Это я попробовал новый редактор поста так
Если функция, принимающая слайс, должна модифицировать этот слайс, то лучше сделать это более явно, то есть данная функция должна возвращать этот самый слайс(ну или новый), как это сделано в функции append. А с такой неявной реализацией изменений вы лишь плодите работу для GC
Я тоже считаю, что явное лучше неявного. Автор интересовался именно причинами, почему вообще такой код встречается и нашел их.
Кстати, я правильно понимаю, что срез в Go это достаточно близкий аналог std::vector из C++, и в этом отличается от «невладеющих» срезов в Rust и Swift?

Это структура данных, которая смешивает владеющие и невладеющие последовательности данных. Весь источник ошибок отсюда.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации