Golang sprawdź, czy klucz na mapie

Golang sprawdź, czy klucz na mapie
Mapa odnosi się do nieoporządkowanej kolekcji par kluczowych. W innych językach programowania mapy są określane z różnymi nazwami, takimi jak skróty, słowniki, tablica asocjacyjna lub mapa nieuporządkowana.

Niezależnie od tego, jaka nazwa może być, mapy są niezwykle wszechstronne i zapewniają łatwy i szybki sposób pobierania, aktualizacji lub usuwania danych za pomocą klawiszy.

W tym przyjaznym samouczku dowiesz się, jak sprawdzić, czy na mapie istnieje klucz za pomocą języka programowania Go.

Podstawy

Zanim sprawdzimy, czy mapa jest w kluczu, zacznijmy od utworzenia mapy w Go.

Aby utworzyć mapę w Go, użyj przykładowej składni pokazanej poniżej:

Mapa [key_data_type] wartości_data_type // tworzy pustą mapę
mapa [key_data_type] value_data_type key_1: value_1,…, key_n: value_n // mapa z danymi

Poniższy przykład tworzy mapę ciągów:

my_map: = map [int] String
1: „Ubuntu”,
2: „Debian”
3: „Fedora”
4: „OpenSuse”
5: „Manjaro”,

Odzyskaj wartości na mapie

W większości przypadków będziemy musieli odzyskać wartość związaną z konkretnym kluczem na mapie. Go zapewnia nam bardzo prostą metodę wykonania tego zadania.

Składnia jest jak pokazana:

Map_name [klucz]

Możemy uzyskać dostęp do wartości przechowywanej w określonym klawiszu, wywołując nazwę mapy i przekazując klucz docelowy wewnątrz pary kwadratowych nawiasów.

Przykładem jest jak pokazano:

fmt.Println (my_map [4])

Powyższe powinny pobrać wartość w kluczowym numerze 4. Powstałe wyjście jest jak pokazano:

$ idź uruchomić check_if_key_exists.Iść
OpenSuse

Chociaż jest to prosta technika pobierania wartości opartej na kluczu, czasami może się mylić, jeśli klucz nie ma na mapie.

Co się stanie, gdy próbujesz odzyskać wartość dla nieistniejącego klucza?

fmt.Println (my_map [0])
…> 0

Powyższy kod zwraca 0, ponieważ nie ma tutaj klucza „0”.

Ale co, jeśli miałeś klucz o rzeczywistej wartości „0”? Jak powiedzieć, czy klucz nie ma, czy wartość to 0?

Sprawdź, czy klucz istnieje na mapie

Dlatego rozsądnie jest mieć sposób na stwierdzenie, czy jest tam klucz, czy wartość to tylko 0. Możemy użyć składni, jak pokazano:

_, znaleziono: = Map_name [klucz]

Znaleziony parametr ma wartość logiczną. Jeśli klucz znajduje się na mapie, znaleziony parametr jest prawdziwy i fałszywy.

Hmm, fajnie!

Możemy użyć tej funkcji do wdrożenia instrukcji warunkowej w oparciu o wartość znalezionej zmiennej.

Przykładem jest jak pokazano:

func check_if_exists ()
stany: = map [string] String
„CO”: „Kolorado”,
„De”: „Delaware”,
„LA”: „Luizjana”,
„Ma”: „Massachusetts”,
„VT”: „Vermont”,

jeśli _, znaleziono: = stany [„ma”]; znaleziony
fmt.Printf („znalezione”)
w przeciwnym razie
fmt.Println („nie znaleziono”)

W powyższym przykładzie używamy instrukcji IF, aby sprawdzić, czy klucz znajduje się na mapie za pomocą parametru znalezionego.

Powstały kod jest jak pokazano:

$ idź uruchomić check_if_key_exists.Iść
Nie znaleziono

Ta metoda będzie działać wydajnie, nawet jeśli wartość określonego klucza jest równa 0 lub prawda/fałsz.

Wniosek

W tym artykule nauczyłeś się uzyskać dostęp do wartości na mapie za pomocą powiązanego klucza i sprawdzić, czy klucz znajduje się na mapie.

Dziękujemy za przeczytanie i tryb Happy Code!