Avatar ·

¿Existe un ciclo foreach en Go? ¿Cómo iterar un slice?

¡Hola a todos! Acabo de empezar a aprender Go después de Python y JavaScript, y hay algo que me confunde. En Python solía escribir `for item in my_list:`, y en JS — `myArray.forEach(item => ...)`. Es muy conveniente cuando necesitas recorrer todos los elementos de una colección. En Go solo veo el ciclo clásico `for i := 0; i < len(slice); i++`, que parece engorroso. Intenté escribir algo como: ```go package main import "fmt" func main() { fruits := []string{"apple", "banana", "cherry"} // Aquí estoy estancado — ¿cómo hacer foreach? // Lo intenté así, pero no funciona: // for fruit := range fruits { // fmt.Println(fruit) // } } ``` Cuando ejecuto este código, imprime los índices (0, 1, 2), no los valores. Esperaba ver "apple", "banana", "cherry". Díganme, ¿hay en Go un análogo de foreach de otros lenguajes? ¿O siempre tengo que usar el ciclo con índice? ¿Quizás estoy usando `range` incorrectamente? Agradecería ejemplos de código con explicaciones. Gracias de antemano.