Junior — Middle
101
Бағдарламалауда срез (slice) деген не және ол қалай жұмыс істейді?
Сұралған компаниялар
Цифровая Эволюция
AI-дан жауап
sobes.tech AI
Срез (slice) в Go — это динамический, изменяемый по размеру фрагмент массива. Он представляет собой структуру, которая содержит:
- указатель на первый элемент массива,
- длину (количество элементов в срезе),
- емкость (максимальное количество элементов, которое может содержать срез без перераспределения).
Срезы позволяют работать с последовательностями элементов без необходимости копирования данных.
Пример создания и использования среза:
arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // срез элементов с индексами 1,2,3
fmt.Println(slice) // [2 3 4]
slice = append(slice, 6) // добавляем элемент, при необходимости выделяется новая память
fmt.Println(slice) // [2 3 4 6]
Срезы удобны тем, что можно создавать новые срезы из существующих, изменять их размер и передавать в функции без копирования всего массива.