Zakres Golang

Zakres Golang
Operator zasięgu w Go pozwala na iterować różne struktury danych. Możesz iterować mapy, plasterki, kanały lub tablicę za pomocą pętli i słowa kluczowego zasięgu.

Korzystając z tego przewodnika, nauczymy Cię, jak korzystać z operatora zasięgu, aby iterować różne struktury danych w Go.

Zakres nad mapą

Możesz użyć operatora zasięgu, aby iterować na mapie Golang. Gdy używany z typem mapy operator zakresu zwraca dwie wartości: klucz i wartość.

Na przykład, aby zwrócić wszystkie klucze i wartości mapy, możemy zrobić:

Pakiet Main
importować „fmt”
func main ()
Użytkownicy: = map [int] String
1: „Matthew K”,
2: „Daniel J”,
3: „Mary y”,

dla klucza, wartość: = użytkownicy zakresu
fmt.Println (klucz, wartość)

W powyższym przykładzie używamy operatora zasięgu, aby uzyskać klucze i wartości mapy. Aby uzyskać tylko wartości mapy, możesz zrobić:

dla _, wartość: = użytkownicy zakresu
fmt.Println (wartość)

Aby uzyskać tylko klucze mapy:

dla klucza: = Użytkownicy Range
fmt.Println (klucz)

Zakres nad tablicą/plasterem

Możemy również iterować tablicę lub kawałek za pomocą operatora zasięgu. Na przykład:

bazy danych: = [] String „mysql”, „MongoDB”, „sqlite”
Dla indeksu, db: = bazy danych zakresu
fmt.Println (indeks, db)

Powyższy przykład używa operatora zasięgu do iteracji przez elementy w plasterku. Zwraca indeks i powiązaną wartość jako:

0 Mysql
1 MongoDB
2 sqlite

Zakres ponad ciągami

Możemy również użyć operatora zasięgu, aby iterować ciąg. Pamiętaj, że konwertujemy ciąg na tablicę runi. To pozwala nam uzyskać dostęp do poszczególnych elementów łańcucha.

Przykładem jest to, jak pokazano poniżej:

str: = "Hello"
Dla indeksu, char: = zakres str
fmt.Println (indeks, ciąg (char))

Powyższe powinno użyć operatora zasięgu, aby iterować ciąg i zwrócić Char w określonym indeksie. Następnie używamy metody ciągu, aby rzucić char do jego równoważnego łańcucha.

Wyjście:

0 h
1 e
2 l
3 l
4 o

Zakres nad kanałem

Możemy również iterować kanał, jak pokazano w poniższym przykładzie:

CH: = MAK (chan int)
GO FUNC ()
Ch <- 1
Ch <- 2
Ch <- 3
Zamknij (CH)
()
Dla wartości: = zakres ch
fmt.Println (wartość)

W tym przykładzie iterujemy wartości wysyłane do kanału do zamknięcia. Powyższy kod powinien wydrukować:

1
2
3

Wniosek

W tym artykule omówiliśmy, jak używać operatora zasięgu do iteracji na mapie, plasterze, tablicy, sznurku i kanale.

Ucz się!