Iterowanie po mapach
Część sekcji Podstawy ścieżki GO w Coddy. Lekcja 92 z 109.
Słowo kluczowe range pozwala iterować po wszystkich parach klucz-wartość w mapie. Zwraca zarówno klucz, jak i wartość każdego wpisu.
Utwórz mapę zapasów owoców:
inventory := map[string]int{
"apples": 5,
"bananas": 8,
"oranges": 12,
}
for fruit, quantity := range inventory {
fmt.Printf("%s: %d\n", fruit, quantity)
}Wynik pokazuje każdą parę klucz-wartość:
apples: 5
bananas: 8
oranges: 12Jeśli potrzebujesz tylko kluczy, możesz pominąć drugą zmienną:
for fruit := range inventory {
fmt.Println(fruit)
}Wyzwanie
PoczątkującyW tym wyzwaniu poćwiczysz iterowanie po mapie za pomocą słowa kluczowego range w Go. Przygotowano dla Ciebie mapę z ocenami uczniów. Twoim zadaniem jest iterowanie po mapie i wypisanie imienia i oceny każdego ucznia.
Uzupełnij kod, aby iterować po mapie studentGrades i wypisać imię oraz ocenę każdego ucznia w formacie: Student: [name], Grade: [grade]
Spróbuj swoich sił
package main
import (
"fmt"
"sort"
)
func main() {
// Mapa ocen uczniów
studentGrades := map[string]string{
"Alice": "A",
"Bob": "B",
"Charlie": "B+",
"David": "A-",
"Eva": "C",
}
// Zbierz imiona uczniów (klucze) w wycinku, aby je posortować
var names []string
for name := range studentGrades {
names = append(names, name)
}
sort.Strings(names)
// TODO: Przejdź przez posortowaną listę imion uczniów
// i wypisz imię oraz ocenę każdego ucznia w formacie:
// "Student: [name], Grade: [grade]"
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory porównania i logiczne
Operatory porównania – część 1Operatory porównania – część 2Logiczny operator ANDLogiczny operator ORLogiczny operator NOTPodstawy kolejności wykonywania operatorówPodsumowanie – porównywanie7Sterowanie przepływem: pętle
Jak działa pętla `for`Pętla `for` — podstawyPętla `for` — tylko warunekSłowo kluczowe `break`Słowo kluczowe `continue`Pętle zagnieżdżonePodsumowanie — powtarzanie działań2Zmienne i podstawowe typy danych
Czym jest zmiennaWnioskowanie o typie za pomocą `:=`Liczby całkowite (int)Liczby zmiennoprzecinkoweWartości logiczneCiągi znakówWartości zeroweStałeKonwencje nazewnictwaPodsumowanie – zmienne i typy5Podstawowe wejście/wyjście
Formatowane wyjścieSpecyfikatory formatuWyświetlanie typówPobieranie podstawowych danych od użytkownikaPodsumowanie — wejście i wyjście8Funkcje
Zrozumienie funkcjiDeklarowanie funkcjiWywoływanie funkcjiParametry funkcjiZwracanie jednej wartościZwracanie wielu wartościNazwane wartości zwracanePodstawy zakresu funkcjiPodsumowanie — tworzenie wielokrotnego użytku kodu11Typy złożone: wycinki
Wprowadzenie do wycinkówDeklarowanie literałów wycinkówTworzenie wycinków za pomocą `make`Długość a pojemność wycinkaDostęp do elementów wycinkaDodawanie elementówWycinanie z istniejących wycinków i tablicIterowanie po wycinkachKopiowanie wycinkówPodsumowanie — listy dynamiczne3Podstawowe operatory
Operatory arytmetyczneOperator dzieleniaOperator moduloOperator przypisaniaOperatory przypisania z działaniemZwiększanie i zmniejszaniePowtórka – obliczenia6Sterowanie przepływem: instrukcje warunkowe
Instrukcja `if`Słowo kluczowe `else`Słowo kluczowe `else if`Przesłanianie zmiennych w `if`Inicjalizacja zmiennychInstrukcja `switch``switch` z wyrażeniami`switch` bez wyrażeniaSłowo kluczowe `fallthrough`Podsumowanie — podejmowanie decyzjiPoćwicz samodzielnie: Kompilator Go online