Golang -Reichweite

Golang -Reichweite
Mit dem Range -Operator in Go können Sie verschiedene Datenstrukturen iterieren. Sie können über Karten, Scheiben, Kanäle oder ein Array mit dem Keyword für Schleifen und Range iterieren.

Mit diesem Leitfaden bringen wir Ihnen bei, wie Sie den Bereichsbetreiber verwenden, um verschiedene Datenstrukturen in Go zu iterieren.

Reichweite über Karte

Sie können den Bereichsoperator verwenden, um über eine Golang -Karte zu iterieren. Bei Verwendung mit einem Kartentyp gibt der Bereichsoperator zwei Werte zurück: Schlüssel und der Wert.

Um beispielsweise alle Schlüssel und Werte einer Karte zurückzugeben, können wir dies tun:

Paket Main
importieren "fmt"
func main ()
Benutzer: = map [int] String
1: "Matthew K",
2: "Daniel J",
3: "Mary Y",

Für den Schlüssel Wert: = Bereichs Benutzer
fmt.Println (Schlüssel, Wert)

Im obigen Beispiel verwenden wir den Bereich Operator, um die Schlüssel und Werte einer Karte zu erhalten. Um nur die Werte einer Karte zu erhalten, können Sie:

Für _, Wert: = Bereichs Benutzer
fmt.Println (Wert)

Um nur die Schlüssel einer Karte zu erhalten:

Für Schlüssel: = Bereichs Benutzer
fmt.Println (Schlüssel)

Bereich über Array/Scheibe

Wir können auch über ein Array oder eine Scheibe mit dem Bereich Operator iterieren. Zum Beispiel:

Datenbanken: = [] String "MySQL", "MongoDB", "Sqlite"
Für Index, DB: = Bereichsdatenbanken
fmt.Println (Index, DB)

Das obige Beispiel verwendet den Bereichsoperator, um über Elemente in einer Scheibe zu iterieren. Es gibt den Index und den zugehörigen Wert als:

0 Mysql
1 MongoDB
2 sqlite

Bereich über String

Wir können den Bereichsoperator auch verwenden, um über eine Zeichenfolge zu iterieren. Denken Sie daran, dass wir die Zeichenfolge in ein Runenarray konvertieren. Wenn wir dies tun, können wir auf einzelne Elemente der Zeichenfolge zugreifen.

Ein Beispiel ist wie unten gezeigt:

STR: = "Hallo"
Für Index, char: = Bereich str
fmt.Println (Index, String (char))

Die oben genannte sollte den Bereichsbetreiber verwenden, um über eine Zeichenfolge zu iterieren und das Zeichen im spezifischen Index zurückzugeben. Anschließend verwenden wir die String -Methode, um das Zeichen auf das Stringäquivalent zu geben.

Ausgang:

0 h
1 e
2 l
3 l
4 o

Reichweite über Kanal

Wir können auch über einen Kanal iterieren, wie im folgenden Beispiel gezeigt:

CH: = make (chan int)
go func ()
CH <- 1
CH <- 2
CH <- 3
schließen (ch)
())
für Wert: = Bereich ch
fmt.Println (Wert)

In diesem Beispiel iterieren wir über die an den Kanal gesendeten Werte, bis wir geschlossen sind. Der obige Code sollte gedruckt werden:

1
2
3

Abschluss

In diesem Artikel haben wir diskutiert, wie man den Bereichsoperator verwendet, um über eine Karte, ein Stück, ein Array, eine Zeichenfolge und einen Kanal zu iterieren.

Lerne weiter!