La parola chiave `fallthrough`
Fa parte della sezione Fondamenti del percorso GO di Coddy. Lezione 42 di 109.
In Go, la parola chiave fallthrough ci permette di continuare l’esecuzione nel caso successivo di un’istruzione switch, anche dopo aver trovato una corrispondenza. Scopriamo come funziona.
Per prima cosa, creiamo un semplice switch statement che usa la parola chiave fallthrough per descrivere un numero:
num := 15
switch {
case num < 20:
fmt.Print("Less than 20 ")
fallthrough
case num > 10:
fmt.Print("Greater than 10 ")
fallthrough
case num > 0:
fmt.Print("Positive number")
}Dopo aver eseguito questo codice, vedremo tutti e tre i messaggi stampati sullo schermo:
Less than 20 Greater than 10 Positive numberQuesto accade perché il primo caso corrisponde (15 è minore di 20) e la parola chiave fallthrough forza Go a eseguire anche il secondo caso. Poi anche il secondo caso usa fallthrough, che fa sì che Go esegua anche il terzo caso. Senza fallthrough, verrebbe eseguito solo il primo caso corrispondente.
Ricorda che fallthrough eseguirà il caso successivo indipendentemente dal fatto che la sua condizione sia vera o meno. Nel nostro esempio, tutte le condizioni risultano vere per il numero 15, ma il caso successivo verrebbe eseguito anche se la sua condizione fosse falsa.
Sfida
PrincipianteIn questa sfida, ti eserciterai a usare la parola chiave fallthrough in un'istruzione switch. La parola chiave fallthrough consente all'esecuzione di proseguire con il caso successivo anche dopo aver trovato una corrispondenza.
Hai una variabile che rappresenta un giorno della settimana. Il tuo compito è aggiungere la parola chiave fallthrough nel punto appropriato per far sì che il programma stampi sia 'It's a weekday!' sia 'Time to work!' quando il giorno è 'Monday'.
Provalo tu
package main
import "fmt"
func main() {
// Una variabile che rappresenta un giorno della settimana
day := "Monday"
// Istruzione switch per controllare il giorno
switch day {
case "Monday":
fmt.Println("It's a weekday!")
// TODO: Aggiungi qui la parola chiave fallthrough per passare al case successivo
case "Tuesday", "Wednesday", "Thursday", "Friday":
fmt.Println("Time to work!")
case "Saturday", "Sunday":
fmt.Println("It's the weekend!")
default:
fmt.Println("Invalid day!")
}
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori di confronto e logici
Operatori di confronto - Parte 1Operatori di confronto - Parte 2Operatore AND logicoOperatore OR logicoOperatore NOT logicoNozioni di base sulla precedenza degli operatoriRiepilogo - Eseguire confronti7Flusso di controllo: cicli
Come funziona il ciclo `for`Ciclo `for` - baseCiclo `for` - solo condizioneLa parola chiave `break`La parola chiave `continue`Cicli annidatiRiepilogo - ripetere le azioni2Variabili e tipi di dati di base
Che cos'è una variabileInferenza del tipo con `:=`Numeri interi (int)Numeri in virgola mobileValori booleaniStringheValori zeroCostantiConvenzioni di denominazioneRiepilogo: variabili e tipi5Input/output di base
Output formattatoVerbi di formattazioneVisualizzazione dei tipiAcquisire input di base dall’utenteRiepilogo - Input e output8Funzioni
Capire le funzioniDichiarare una funzioneChiamare le funzioniParametri delle funzioniRestituire un singolo valoreRestituire più valoriValori restituiti con nomeFondamenti dell'ambito delle funzioniRiepilogo - Creare codice riutilizzabile3Operatori di base
Operatori aritmeticiOperatore di divisioneL'operatore moduloOperatore di assegnazioneOperatori di assegnazione compostaIncremento e decrementoRiepilogo - Calcoli6Flusso di controllo: condizioni
L'istruzione `if`La parola chiave `else`La parola chiave `else if`Ombreggiamento delle variabili in `if`Inizializzare le variabiliL'istruzione `switch``switch` con espressioni`switch` senza espressioneLa parola chiave `fallthrough`Riepilogo: prendere decisioni9Puntatori
Che cos’è un puntatore?Dichiarare variabili puntatoreL’operatore indirizzoDereferenziare i puntatoriUsare i puntatori nelle funzioniPuntatori nilRipasso - Capire i puntatori12Tipi compositi: mappe
Introduzione alle mappeDichiarare i letterali delle mappeCreare mappe con `make`Aggiungere e aggiornare coppie chiave-valoreAccedere ai valori delle mappeVerificare l'esistenza di una chiaveEliminare elementi dalle mappeLunghezza delle mappeIterare sulle mappeRiepilogo - Archiviazione chiave-valoreEsercitati da solo: Compilatore Go online