0Pricing
Swift Academy · Lezione

Controllo dei cicli nel contesto switch

Distingui break nei cicli da break negli switch.

Controllo dei cicli nel contesto switch è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 4 lezioni in totale.

break in switch

All'interno di uno switch, break termina il caso dello switch. I casi di Swift non proseguono automaticamente nel caso successivo, quindi break di solito è facoltativo, ma consentito.

let n = 2
switch n {
case 1:
    print("one")
case 2:
    print("two")
    break
default:
    print("other")
}

Caso vuoto con break

Usi break per indicare esplicitamente che un caso non deve fare nulla: è più chiaro di un corpo vuoto.

let code = 0
switch code {
case 0:
    break // intentionally ignore
default:
    print("handled", code)
}
print("after switch")

break in uno switch dentro un ciclo

Quando uno switch si trova all'interno di un ciclo, un semplice break esce dallo switch, non dal ciclo.

for n in 1...4 {
    switch n {
    case 3:
        break // exits switch only
    default:
        print(n)
    }
}
print("loop finished")

Uscire dal ciclo da uno switch

Per uscire dal ciclo che racchiude lo switch dall'interno di quest'ultimo, etichetti il ciclo e usi break label.

loop: for n in 1...5 {
    switch n {
    case 3:
        break loop
    default:
        print(n)
    }
}
print("done")

continue da uno switch

Un semplice continue all'interno di uno switch si riferisce al ciclo che lo racchiude e passa alla sua iterazione successiva.

for n in 1...5 {
    switch n {
    case let x where x % 2 == 0:
        continue
    default:
        print(n)
    }
}

Perché la distinzione è importante

Confondere il break dello switch con il break del ciclo è un errore comune. Ricordi: un break senza etichetta in uno switch esce solo dallo switch.

for n in 1...3 {
    switch n {
    case 2:
        break
    default:
        print("value", n)
    }
}
print("all values processed")

fallthrough

Se desidera davvero un comportamento di prosecuzione nel caso successivo, usi la parola chiave esplicita fallthrough.

let n = 1
switch n {
case 1:
    print("one")
    fallthrough
case 2:
    print("two")
default:
    print("done")
}

break con etichetta per chiarezza

Anche quando non è strettamente necessario, un break con etichetta documenta che si intende uscire dal ciclo.

scan: for value in [10, 20, 30, 40] {
    switch value {
    case 30:
        break scan
    default:
        print(value)
    }
}

Combinare le clausole where

Le clausole where sui pattern insieme a continue consentono di filtrare con eleganza all'interno di uno switch.

for n in 1...6 {
    switch n {
    case let x where x > 4:
        continue
    default:
        print(n)
    }
}

Switch e ciclo annidati

Con cicli annidati e uno switch, le etichette rendono inequivocabile l'obiettivo.

outer: for i in 1...3 {
    for j in 1...3 {
        switch j {
        case 2:
            break outer
        default:
            print(i, j)
        }
    }
}

Buona pratica

Usi un break senza etichetta solo per uscire da un caso dello switch; etichetti sempre il ciclo quando intende uscirne dall'interno di uno switch.

main: for n in 1...5 {
    switch n {
    case 4:
        break main
    default:
        print(n)
    }
}

Verifica rapida

Verifichi la differenza tra break dello switch e break del ciclo.

Riepilogo

In uno switch, un break senza etichetta esce solo dal caso dello switch; Swift non ha la prosecuzione implicita nel caso successivo, quindi per ottenerla usi fallthrough. Per uscire da un ciclo che racchiude lo switch, etichetti il ciclo e usi break label. Un continue senza etichetta continua invece a riferirsi al ciclo.

loop: for n in 1...4 {
    switch n {
    case 3: break loop
    default: print(n)
    }
}

Domande Frequenti

La lezione «Controllo dei cicli nel contesto switch» è gratuita?

Sì — il testo completo di «Controllo dei cicli nel contesto switch» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 4 lezioni in totale.

Cosa imparerò in «Controllo dei cicli nel contesto switch»?

Distingui break nei cicli da break negli switch. Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Swift Academy?

Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Controllo dei cicli nel contesto switch»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Swift Academy?

Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Basi di break e continue
  2. Istruzioni con etichette
  3. Uscire dai cicli annidati
  4. Controllo dei cicli nel contesto switch
← Torna a Swift Academy