`switch` con espressioni
Fa parte della sezione Fondamenti del percorso GO di Coddy. Lezione 40 di 109.
Impariamo a conoscere le espressioni switch in Go, che ci permettono di valutare un valore direttamente nell'istruzione switch.
Per prima cosa, vediamo come usare un'istruzione switch con un'espressione per verificare se un numero è positivo, negativo o zero:
num := -5
switch {
case num > 0:
fmt.Println("Positive number")
case num < 0:
fmt.Println("Negative number")
default:
fmt.Println("Zero")
}Dopo aver eseguito questo codice, il programma mostrerà sullo schermo:
Negative numberNota che stiamo usando switch { senza alcun valore dopo. Questo significa che Go valuterà ogni espressione case come una condizione booleana. Poiché num è -5, la seconda condizione case num < 0 risulta vera, quindi viene stampato "Negative number".
Possiamo anche inizializzare una variabile direttamente nell'istruzione switch. Vediamo come funziona:
switch num := -5; {
case num > 0:
fmt.Println("Positive number")
case num < 0:
fmt.Println("Negative number")
default:
fmt.Println("Zero")
}Dopo aver eseguito questo codice, otteniamo lo stesso risultato:
Negative numberIn questo esempio, abbiamo dichiarato e inizializzato num direttamente nell'istruzione switch. Il punto e virgola separa l'inizializzazione dall'espressione switch (che qui è vuota). Questo rende il nostro codice più compatto, mantenendo la stessa funzionalità.
Sfida
Principianteswitch in Go. Devi completare il codice per determinare la descrizione di un giorno in base al suo nome usando un'istruzione switch.Una variabile
dayName è già definita con il valore "Wednesday". Il tuo compito è usare un'espressione switch per impostare la variabile description su:-
"Start of the week" per lunedì-
"Midweek" per mercoledì-
"Almost weekend" per venerdì-
"Weekend" per sabato o domenica-
"Regular day" per qualsiasi altro giornoProvalo tu
package main
import "fmt"
func main() {
// Il nome del giorno è già definito
dayName := "Wednesday"
// Variabile per memorizzare la descrizione
var description string
// TODO: Scrivi un'istruzione switch che imposti la descrizione in base a dayName
// Per Monday: "Start of the week"
// Per Wednesday: "Midweek"
// Per Friday: "Almost weekend"
// Per Saturday o Sunday: "Weekend"
// Per qualsiasi altro giorno: "Regular day"
// Stampa il risultato
fmt.Printf("%s is %s\n", dayName, description)
}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