El bucle Foreach en Golang
-
Use la función
slice
para implementar un bucleforeach
en Golang -
Use la función
map
para implementar un bucleforeach
en Golang
Este artículo mostrará varios ejemplos de implementación de un bucle foreach
utilizando una función en el lenguaje de programación Go y una breve discusión sobre Golang y las funciones utilizadas.
Use la función slice
para implementar un bucle foreach
en Golang
La palabra clave foreach
no existe en Go; sin embargo, el bucle for
se puede extender para lograr lo mismo.
La distinción es que la palabra clave range
se usa con un bucle for
. Puede usar la tecla o valor slice
dentro del bucle, como en muchos otros lenguajes bucles foreach
.
Ejemplo 1:
package main
//import fmt package
import (
"fmt"
)
//program execution starts here
func main() {
//declare and initialize slice
fruits := []string{"mango", "grapes", "banana", "apple"}
//traverse through the slice using for and range
for _, element := range fruits {
//Print each element in new line
fmt.Println(element)
}
}
Producción :
mango
grapes
banana
apple
Atravesamos una rebanada de fruta
en el ejemplo anterior. Después de eso, usamos for-range
para imprimir cada elemento en una nueva línea.
Ejemplo 2:
Imprimimos cada palabra iterando sobre una cadena rebanada
en este ejemplo. Usamos un guión bajo _
en lugar de una clave ya que requerimos el valor.
package main
import "fmt"
func main() {
myList := []string{"rabbit", "dog", "parrot"}
// for {key}, {value} := range {list}
for _, animal := range myList {
fmt.Println("My animal is:", animal)
}
}
Producción :
My animal is: rabbit
My animal is: dog
My animal is: parrot
Use la función map
para implementar un bucle foreach
en Golang
Una matriz puede iterar y recorrer cada elemento en un map
. Golang Maps es un grupo de pares clave-valor que no están ordenados de ninguna manera.
Se usa mucho para búsquedas rápidas y valores que se pueden recuperar, actualizar o eliminar usando claves.
Ejemplo:
package main
import "fmt"
func main() {
myList := map[string]string{
"dog": "woof",
"cat": "meow",
"hedgehog": "sniff",
}
for animal, noise := range myList {
fmt.Println("The", animal, "went", noise)
}
}
Producción :
The cat went meow
The hedgehog went sniff
The dog went woof