Какие операции доступны со слайсом

«Какие операции доступны со слайсом» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Доступные операции со слайсом в Go:

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

Слайсы в Go - это ссылочный тип, работающий с базовым массивом. Все изменения в под-слайсах влияют на оригинальный слайс.