Faixa de Golang

Faixa de Golang
O operador de alcance em Go permite que você itera sobre várias estruturas de dados. Você pode iterar sobre mapas, fatias, canais ou uma matriz usando o loop for e a palavra -chave do alcance.

Usando este guia, ensinaremos como usar o operador de alcance para iterar em várias estruturas de dados em Go.

Alcance sobre o mapa

Você pode usar o operador de alcance para iterar em um mapa de Golang. Quando usado com um tipo de mapa, o operador de intervalo retorna dois valores: chave e o valor.

Por exemplo, para retornar todas as chaves e valores de um mapa, podemos fazer:

Pacote principal
importar "fmt"
func main ()
Usuários: = mapa [int] string
1: "Matthew K",
2: "Daniel J",
3: "Mary y",

Para chave, valor: = usuários do intervalo
fmt.Println (chave, valor)

No exemplo acima, usamos o operador de intervalo para obter as chaves e os valores de um mapa. Para obter apenas os valores de um mapa, você pode fazer:

Para _, valor: = usuários do intervalo
fmt.Println (valor)

Para obter apenas as chaves de um mapa:

Para chave: = usuários do alcance
fmt.Println (chave)

Alcance sobre matriz/fatia

Também podemos iterar sobre uma matriz ou uma fatia usando o operador de alcance. Por exemplo:

bancos de dados: = [] string "mysql", "mongodb", "sqlite"
para índice, db: = bancos de dados de intervalo
fmt.Println (índice, dB)

O exemplo acima usa o operador de alcance para iterar os itens em uma fatia. Ele retorna o índice e o valor associado como:

0 mysql
1 MongoDB
2 sqlite

Alcance sobre string

Também podemos usar o operador de alcance para iterar sobre uma string. Lembre -se de que convertemos a string em uma matriz de runa. Fazer isso nos permite acessar elementos individuais da string.

Um exemplo é como mostrado abaixo:

STR: = "Olá"
para índice, char: = range str
fmt.Println (índice, string (char))

O acima deve usar o operador de alcance para iterar sobre uma string e devolver o char no índice específico. Em seguida, usamos o método da string para lançar o char em sua string equivalente.

Saída:

0 h
1 e
2 l
3 l
4 o

Alcance sobre o canal

Também podemos iterar sobre um canal, como mostrado no exemplo abaixo:

CH: = Make (Chan Int)
vá func ()
CH <- 1
CH <- 2
CH <- 3
fechar (ch)
()
para valor: = intervalo ch
fmt.Println (valor)

Neste exemplo, iteramos sobre os valores enviados ao canal até fechados. O código acima deve imprimir:

1
2
3

Conclusão

Neste artigo, discutimos como usar o operador de alcance para iterar sobre um mapa, uma fatia, uma matriz, uma corda e um canal.

Continue aprendendo!