Как проходит итерация по слайсу

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

Ответ

Итерация по слайсу в Go обычно выполняется с помощью цикла for вместе с range. Это удобный и безопасный способ перебрать все элементы слайса.

package main

import "fmt"

func main() {
    slice := []int{10, 20, 30, 40}

    // Вариант 1: индексы и значения
    for index, value := range slice {
        fmt.Printf("Index: %d, Value: %dn", index, value)
    }

    // Вариант 2: только значения
    for _, value := range slice {
        fmt.Printf("Value: %dn", value)
    }

    // Вариант 3: только индексы
    for index := range slice {
        fmt.Printf("Index: %dn", index)
    }
}

Особенности:

  • range возвращает копию элемента, а не ссылку.
  • Если нужно изменить элемент слайса, используйте индекс: slice[i] = newValue.
  • Порядок итерации гарантированно соответствует порядку элементов в слайсе.