Sobes.tech
Назад к вопросам
Senior
3

Какие операции существуют над слайсами в Go?

Компании, где спрашивали
VK CloudVK Cloud

Ответ от нейросети

sobes.tech AI

В Go слайсы — это динамические массивы, над которыми можно выполнять следующие операции:

  1. Создание слайса:

    s := []int{1, 2, 3}
    s2 := make([]int, 5) // слайс длины 5
    
  2. Доступ к элементам:

    x := s[0] // первый элемент
    s[1] = 10 // присвоение
    
  3. Изменение длины с помощью append:

    s = append(s, 4, 5)
    
  4. Срезы слайса (slicing):

    sub := s[1:3] // элементы с индексами 1 и 2
    
  5. Копирование слайсов:

    dst := make([]int, len(s))
    copy(dst, s)
    
  6. Удаление элемента:

    // удалить элемент с индексом i
    s = append(s[:i], s[i+1:]...)
    
  7. Итерирование:

    for i, v := range s {
        fmt.Println(i, v)
    }
    
  8. Получение длины и ёмкости:

    length := len(s)
    capacity := cap(s)
    

Таким образом, основные операции над слайсами включают создание, доступ, изменение размера через append, срезы, копирование, удаление элементов и получение метаданных (длина, ёмкость).