Avatar ·

¿Existe en Go un bucle foreach para iterar sobre elementos de un slice?

¡Hola a todos! Acabo de empezar a aprender Go después de Python y JavaScript, y me encontré con una dificultad inesperada. En Python estoy acostumbrado a escribir `for item in my_list:`, en JS — `arr.forEach(item => ...)`. Y en Go solo veo el clásico `for i := 0; i < len(slice); i++ {}` — ¿es esto normal? Tengo un slice simple de strings: ```go names := []string{"Alice", "Bob", "Charlie"} ``` Quiero imprimir cada nombre en una línea separada. En Python escribiría: ```python for name in names: print(name) ``` Y en Go tengo que escribir así: ```go for i := 0; i < len(names); i++ { fmt.Println(names[i]) } ``` Esto funciona, pero se ve engorroso. Siento que me estoy perdiendo alguna sintaxis elegante. Intenté buscar "foreach in Go", pero las respuestas me confunden — algunos dicen que no hay foreach, otros muestran una construcción con `range`. Por favor, díganme: 1. ¿Existe en Go un análogo de foreach de otros lenguajes? 2. Si es así, ¿cómo usarlo correctamente? 3. ¿Hay alguna diferencia en el rend