что ты имеешь в виду "при создании слайса"?
Когда разработчики реализовывали слайсы в Go, то вдохновлялись Питоном, думаю
Вот мне кажется, что слайс - это прямое расширение концепции Си-массива. Во-первых, храним длину не отдельно, а в нем же. Во-вторых, есть заранее выделенное место под больший массив для оптимизации работы с памятью при добавлении элементов
А что такое слайс в целом?
Это структура, которая содержит три поля: указатель на массив элементов, int len, int cap. Массив содержит не меньше cap элементов
Я не о том, как он предоставлен в го, ну да ладно
Ну так логически это всегда оно и есть - выделенная память, и простое обращение к элементу, простое выделение подслайса, простое добавление элемента в конец (с редкими выделениями памяти)
Обсуждают сегодня