Avatar ·

在 Go 中有 foreach 循环吗?如何遍历切片?

Всем привет! Я только начал изучать Go после Python и JavaScript, и меня смущает одна вещь. В Python я привык писать `for item in my_list:`, а в JS — `myArray.forEach(item => ...)`. Это очень удобно, когда нужно пройтись по всем элементам коллекции. В Go я вижу только классический цикл `for i := 0; i < len(slice); i++`, который выглядит громоздко. Я пробовал написать что-то вроде: ```go package main import "fmt" func main() { fruits := []string{"apple", "banana", "cherry"} // Вот тут я в тупике — как сделать foreach? // Пробовал так, но не работает: // for fruit := range fruits { // fmt.Println(fruit) // } } ``` Когда я запускаю этот код, он выводит индексы (0, 1, 2), а не сами значения. Я ожидал увидеть "apple", "banana", "cherry". Подскажите, есть ли в Go аналог foreach из других языков? Или нужно всегда использовать цикл с индексом? Может быть, я неправильно использую `range`? Буду благодарен за примеры кода с пояснениями. Зара