Golang rango

Golang rango
El operador de rango en GO le permite iterar sobre varias estructuras de datos. Puede iterar sobre mapas, rodajas, canales o una matriz utilizando la palabra clave For Loop y Rango.

Usando esta guía, le enseñaremos cómo usar el operador de rango para iterar sobre varias estructuras de datos en GO.

Rango sobre mapa

Puede usar el operador de rango para iterar sobre un mapa de Golang. Cuando se usa con un tipo de mapa, el operador de rango devuelve dos valores: clave y el valor.

Por ejemplo, para devolver todas las claves y valores de un mapa, podemos hacer:

paquete principal
importar "fmt"
func Main ()
usuarios: = map [int] string
1: "Matthew K",
2: "Daniel J",
3: "Mary Y",

Para la clave, valor: = usuarios de rango
fmt.Println (clave, valor)

En el ejemplo anterior, usamos el operador de rango para obtener las claves y los valores de un mapa. Para obtener solo los valores de un mapa, puede hacer:

para _, valor: = usuarios de rango
fmt.Println (valor)

Para obtener solo las claves de un mapa:

para la clave: = usuarios de rango
fmt.Println (clave)

Rango sobre matriz/rebanada

También podemos iterar sobre una matriz o una porción utilizando el operador de rango. Por ejemplo:

bases de datos: = [] string "mysql", "mongodb", "sqlite"
para el índice, db: = bases de datos de rango
fmt.Println (índice, db)

El ejemplo anterior usa el operador de rango para iterar sobre elementos en una porción. Devuelve el índice y el valor asociado como:

0 mysql
1 MongoDB
2 sqlite

Rango sobre cadena

También podemos usar el operador de rango para iterar sobre una cadena. Tenga en cuenta que convertimos la cadena en una matriz de runa. Hacer esto nos permite acceder a elementos individuales de la cadena.

Un ejemplo es como se muestra a continuación:

str: = "hola"
para índice, char: = range str
fmt.Println (index, string (char))

Lo anterior debe usar el operador de rango para iterar sobre una cadena y devolver el char al índice específico. Luego usamos el método de cadena para lanzar el char a su cadena equivalente.

Producción:

0 H
1 E
2 L
3 L
4 O

Rango sobre canal

También podemos iterar sobre un canal, como se muestra en el ejemplo a continuación:

CH: = make (Chan int)
Go func ()
pez <- 1
pez <- 2
pez <- 3
Cerrar (CH)
()
Para el valor: = rango CH
fmt.Println (valor)

En este ejemplo, iteramos sobre los valores enviados al canal hasta que se cierre. El código anterior debe imprimir:

1
2
3

Conclusión

En este artículo, discutimos cómo usar el operador de rango para iterar sobre un mapa, una porción, una matriz, una cadena y un canal.

Seguir aprendiendo!