Menu
Coddy logo textTech

Dichiarare i dizionari

Fa parte della sezione Logica e flusso del percorso Swift di Coddy. Lezione 12 di 56.

Un dizionario è una raccolta non ordinata di coppie chiave/valore. Sia il tipo della chiave sia quello del valore sono definiti quando lo crei.

var prices: [String: Int] = [
    "apple": 1,
    "bread": 3,
    "milk":  4
]
print(prices.count)            // 3
print(prices.isEmpty)          // false

L'annotazione di tipo [String: Int] si legge «le chiavi sono String, i valori sono Int». Swift di solito riesce a dedurla dal letterale, ma scriverla esplicitamente rende non ambigui gli inizializzatori vuoti:

var counts: [String: Int] = [:]
// rispetto a un array vuoto, che avrebbe bisogno anch'esso di un tipo

La lettura di una chiave esistente restituisce il valore. La lettura di una chiave inesistente restituisce nil; la prossima lezione approfondisce questo aspetto.

challenge icon

Sfida

Facile

Leggi tre righe di input: un nome, un paese e un'età intera. Crea un unico dizionario chiamato person con chiavi String e i valori che hai letto (l'età resta un Int; ti servirà un tipo di valore eterogeneo, vedi il suggerimento).

Stampa tre righe:

  1. Il numero di voci nel dizionario
  2. name=<value> usando l'accesso tramite pedice
  3. country=<value> usando l'accesso tramite pedice

Usa la forma stampabile: quando leggi il valore del dizionario come Any, esegui l'unwrapping forzato prima di stamparlo.

Con l'input Alice / UK / 30, l'output è:

3
name=Alice
country=UK

Provalo tu

let name = readLine()!
let country = readLine()!
let age = Int(readLine()!)!

// TODO: crea un [String: Any] llamado person, imprime count, name y country
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Playground Swift