Menu
Coddy logo textTech

`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 Adult

Nota 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".

challenge icon

Sfida

Facile

In 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 caso default, 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!")
	}
}
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 Fondamenti

Esercitati da solo: Compilatore Go online