Golang iteruj na mapie

Golang iteruj na mapie
Mapa to nieuporządkowana kolekcja par kluczowych. Mapy są szybkie i wydajne w przypadku szybkich wyszukiwania, aktualizacji i usuwania za pomocą unikalnych kluczy.

Dlatego nauka pracy z mapami może być kluczowa jako programista. W tym artykule spróbuje odpowiedzieć na kilka pytań dotyczących map w języku programowania Go.

Jak utworzyć mapę

Możesz utworzyć mapę w Go za pomocą składni pokazanej poniżej:

mapa [key_data_type] value_data_type

Zaczynamy od mapy słów kluczowych, a następnie typu danych klucza. Następnie ustawiamy typ danych dla wartości i, wreszcie para kręconych aparatów ortodontycznych.

Powyższa składnia tworzy pustą mapę.

Na przykład, aby utworzyć pustą mapę z INT typu jako klawisze i ciąg typu ciągów jako wartości, możemy zrobić:

var my_map mapa [int] ciąg

Jeśli nie chcesz pustej mapy, możesz przypisać wartości podczas tworzenia, jak pokazano poniżej:

var my_map map [int] ciąg 1: „a”, 2: „b”, 3: „c”, 4: „d”

Drugą metodą utworzenia mapy jest dosłowna mapa. Przykładem jest jak pokazano:

my_map: = map [int] String

Powyższe tworzy pustą mapę.

Go zapewnia również metodę make (), której możesz użyć do utworzenia mapy. Poniższy przykład tworzy pustą mapę par smyczkowych.

my_map: = map [string] float64

Jak wydrukować mapę

Najprostszą operacją, którą możesz wykonać z mapą, jest wydrukowanie. W tym celu możemy użyć metody println z pakietu FMT.

Pakiet Main
importować „fmt”
funcMain ()
my_map: = map [int] String
1: „A”,
2: „B”,
3: „C”,
4: „D”,
5: „E”,

fmt.Println (my_map)

Powyższy kod powinien wydrukować mapę przechowywaną w zmiennej „my_map”. Powstałe wyjście jest jak pokazano:

Mapa [1: A 2: B 3: C 4: D 5: E]

Jak iterować klucze i wartości mapy

Iterowanie mapy oznacza, że ​​na mapie otrzymujemy każdą kolejną parę kluczowej wartości. Możemy to osiągnąć za pomocą klasycznej pętli i operatora zasięgu.

Przykładem jest jak pokazano:

my_map: = map [int] String
1: „A”,
2: „B”,
3: „C”,
4: „D”,
5: „E”,

dla klucza, wartość: = zakres my_map
fmt.Printf („Klucz: %D Wartość: %s \ n”, klucz, wartość)

W Go wywołanie operatora zasięgu na mapie zwraca dwie wartości: klucz i wartość. Korzystanie z pętli For pozwala nam uzyskać każdy klucz i wartość na mapie.

Wynikowe wyjście:

Klucz: 5 Wartość: E
Klucz: 1 Wartość: a
Klucz: 2 Wartość: B
Klucz: 3 Wartość: C
Klucz: 4 Wartość: D

Jak iterować klucze tylko na mapie

Jak wspomniano, użycie operatora zasięgu na mapie zwraca pary klucza i wartości. Możemy jednak odzyskać tylko jedną wartość, jak pokazano poniżej:

dla key: = Range my_map
fmt.Println („klucz:”, klucz)

Powyższy przykład powinien zwrócić klucze na mapie jako:

Klucz: 2
Klucz: 3
Klucz: 4
Klucz: 5
Klucz: 1

Jak iterować wartości na mapie

Podobnie możesz pobrać wartości mapy za pomocą poniższej składni:

Dla _, wartość: = Range my_map
fmt.Println („wartość:”, wartość)

Wyjście:

Wartość:
Wartość: b
Wartość: c
Wartość: d
Wartość: e

Wniosek

Możesz iterować klucz i wartości mapy za pomocą operatora zasięgu. Możesz także filtrować i uzyskać tylko klawisze lub wartości pokazane w tym przewodniku.

Szczęśliwe kodowanie!