El bucle Foreach en Golang

Jay Singh 30 enero 2023
  1. Use la función slice para implementar un bucle foreach en Golang
  2. Use la función map para implementar un bucle foreach en Golang
El bucle Foreach 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