Menu
Coddy logo textTech

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: 400

Moż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]

 

challenge icon

Wyzwanie

Łatwy

Mamy 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

Poćwicz samodzielnie: Kompilator Go online