Ответ
Доступные операции со слайсом в Go:
- Создание
s := make([]int, 0, 10) // len=0, cap=10
- Добавление элементов
s = append(s, 1, 2, 3)
- Получение длины и вместимости
length := len(s)
capacity := cap(s)
- Срезы (slicing)
subSlice := s[1:3] // элементы с индексами 1 и 2
- Копирование
copy(dest, src)
- Итерирование
for i, v := range s { ... }
- Изменение элементов
s[0] = 42
- Сравнение - только с
nil
if s == nil { ... }
Слайсы в Go - это ссылочный тип, работающий с базовым массивом. Все изменения в под-слайсах влияют на оригинальный слайс.