Mapy
Lekcja 17 z 21 w kursie Slice’y i mapy w Go w Coddy.
Mapa to typ kolekcji, podobnie jak tablica i wycinek. Przechowuje dane w parach klucz-wartość i umożliwia szybkie wyszukiwanie wartości.
Składnia deklarowania mapy wygląda następująco:
products := map[string]int{}Podobnie jak w przypadku deklarowania zmiennych dla tablic i wycinków, możemy użyć krótkiej deklaracji (:=) lub słowa kluczowego var, po którym podajemy nazwę, a następnie słowo kluczowe map. W nawiasach kwadratowych określamy typ klucza, a na końcu typ wartości, czyli elementu.
Wycinki i tablice również są typami klucz-wartość, ale kluczem jest po prostu indeks. W mapach możemy użyć dowolnego typu jako klucza, o ile można go porównywać. Zazwyczaj są to typy int i string.
Wszystkie elementy mapy powinny być tego samego typu; nie można mieszać typów w jednej mapie.
Zainicjujmy naszą mapę:
products := map[string]int{
"iPhone": 1200,
"MacBook": 4000,
"Keyboard": 400,
}Podobnie jak w przypadku wycinków i tablic, możemy uzyskać dostęp do elementów za pomocą kluczy. W tym przypadku kluczem jest wartość, którą zdefiniowaliśmy dla każdego elementu. Na przykład, aby pobrać cenę klawiatury:
fmt.Println("The Price of Keyboard:", products["Keyboard"])Wynik:
The Price of Keyboard: 400Możemy wypisać wszystkie elementy mapy, tak jak w przypadku wycinka:
fmt.Println(products)Wynik będzie następujący:
map[iPhone:1200 MacBook:4000 Keyboard:400]
Wyzwanie
ŁatwyMamy zestaw książek, z których każda ma inną liczbę stron:
- książka Python ma 300 stron
- książka Golang ma 400 stron
- książka Rust ma 500 stron
Zaimplementuj to za pomocą mapy i wyświetl na ekranie liczbę stron książki Golang .
Spróbuj swoich sił
package main
import "fmt"
func main() {
// Zdefiniuj mapę
// Wypisz liczbę stron książki o Golang
}Wszystkie lekcje w sekcji Slice’y i mapy w Go
1Wprowadzenie
WprowadzeniePoćwicz samodzielnie: Kompilator Go online