`switch` senza espressione
Fa parte della sezione Fondamenti del percorso GO di Coddy. Lezione 41 di 109.
In Go, possiamo usare un istruzione switch senza espressione dopo la parola chiave. È utile quando vogliamo valutare più condizioni in modo chiaro.
Creiamo un programma che classifica una persona in base alla sua età:
age := 25
switch {
case age < 13:
fmt.Println("Child")
case age < 20:
fmt.Println("Teenager")
case age < 30:
fmt.Println("Young Adult")
default:
fmt.Println("Adult")
}Dopo aver eseguito questo codice, il programma verificherà ogni condizione del caso in ordine. Poiché la nostra età è 25, non è inferiore a 13 né a 20, ma è inferiore a 30, quindi corrisponde al terzo caso. Sullo schermo apparirà il testo "Young Adult":
Young AdultNota che, senza un'espressione dopo switch, ogni case diventa una condizione booleana che restituisce true o false. Verrà eseguito il blocco di codice del primo case che restituisce true.
Se nessuno dei casi corrisponde, verrebbe eseguito il caso default. Nel nostro esempio, se age fosse 35, l'output sarebbe "Adult".
Sfida
FacileIn questa sfida, ti eserciterai a usare un'istruzione switch senza un'espressione. Questo tipo di switch è utile quando vuoi valutare più condizioni senza ripetere istruzioni if-else.
Abbiamo fornito una variabile timeOfDay che rappresenta l'ora corrente (nel formato a 24 ore). Il tuo compito è completare l'istruzione switch senza un'espressione per stampare un saluto appropriato in base all'ora del giorno.
Usa questi intervalli e stampa esattamente questi messaggi:
- da 5 a 11:
Good morning! - da 12 a 17:
Good afternoon! - da 18 a 21:
Good evening! - qualsiasi altra ora:
Hello!(il casodefault, già scritto)
Con timeOfDay = 14 il programma stampa Good afternoon!.
Provalo tu
package main
import "fmt"
func main() {
// Questo rappresenta l'ora corrente nel formato a 24 ore (0-23)
timeOfDay := 14 // Sono le 2:00 PM
// TODO: Completa l'istruzione switch senza un'espressione
// per stampare il saluto appropriato in base all'ora del giorno
switch {
// Aggiungi qui i tuoi casi
default:
fmt.Println("Hello!")
}
}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