Wörterbücher deklarieren
Teil des Abschnitts Logik & Kontrollfluss der Swift-Journey von Coddy. Lektion 12 von 56.
Ein Dictionary ist eine ungeordnete Sammlung von Schlüssel/Wert-Paaren. Sowohl der Schlüsseltyp als auch der Werttyp sind festgelegt, wenn Sie es erstellen.
var prices: [String: Int] = [
"apple": 1,
"bread": 3,
"milk": 4
]
print(prices.count) // 3
print(prices.isEmpty) // falseDie Typannotation [String: Int] liest sich als „Schlüssel sind String, Werte sind Int“. Swift kann dies normalerweise aus dem Literal ableiten, aber das Ausschreiben macht leere Initialisierer eindeutig:
var counts: [String: Int] = [:]
// im Gegensatz zu einem leeren Array, das ebenfalls einen Typ benötigen würdeDas Lesen eines Schlüssels, der existiert, gibt den Wert zurück. Das Lesen eines Schlüssels, der nicht existiert, gibt nil zurück; die nächste Lektion behandelt diesen Teil.
Aufgabe
EinfachLies drei Zeilen Eingabe ein: einen Namen, ein Land und ein ganzzahliges Alter. Erstelle ein einzelnes Dictionary namens person mit String-Schlüsseln und den eingelesenen Werten (das Alter bleibt ein Int, du benötigst einen heterogenen Werttyp, siehe Hinweis).
Gib drei Zeilen aus:
- Die Anzahl der Einträge im Dictionary
name=<value>unter Verwendung von Subscript-Zugriffcountry=<value>unter Verwendung von Subscript-Zugriff
Verwende die druckbare Form: Wenn du den Dictionary-Wert als Any liest, erzwinge das Unwrapping (force-unwrap), bevor du ihn ausgibst.
Für die Eingabe Alice / UK / 30 lautet die Ausgabe:
3
name=Alice
country=UKProbier es selbst
let name = readLine()!
let country = readLine()!
let age = Int(readLine()!)!
// TODO: Erstelle ein [String: Any] namens person, gib count, name, country aus
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Kontrollfluss
1Strings im Detail
Zählen und IndizesGroß-/Kleinschreibung und TrimSuchen in StringsAufteilen und ZusammenfügenTeilstrings ersetzenRückblick – Benutzernamen prüfen4Mengen
Mengen erstellenVereinigung und SchnittmengeSubtraktion und symmetrische DifferenzTeilmenge und ObermengeWiederholung – Tag-Filter7Projekt – Gewohnheitstracker
ProjektübersichtAls erledigt markieren2Bereiche & Schrittweiten
Geschlossen vs. halboffenSchrittweiteBereichsmethodenBereiche in SwitchRückblick – Kalender-Raster5Funktionen höherer Ordnung Teil 1
MapFilterReduceVerketten von Map, Filter und ReduceRückblick – Wortstatistik3Wörterbücher
Wörterbücher deklarierenOptionale SucheWörterbücher aktualisierenWörterbücher durchlaufenWerte gruppierenRückblick – Inventar6Funktionen höherer Ordnung Teil 2
compactMapflatMapsorted(by:)Pipelines erstellenRückblick – BestenlisteÜbe selbstständig: Swift-Playground