Le istruzioni condizionali consentono di eseguire decisioni basate su una logica che restituisce true o false. Alcuni esempi di affermazioni condizionali includono istruzioni if, if...else, if...else if.. else e dichiarazioni switch-case. Go ha il pieno supporto per questi condizionali con una sintassi familiare e semplice.
Iniziare con Golang
Per seguire questo tutorial, installa Vai nel tuo ambiente locale se non l'hai già fatto. Puoi anche testare i frammenti di codice in questo articolo usando il Vai al parco giochi.
Se dichiarazione
Il Se istruzione esegue un blocco di codice solo se viene soddisfatta una determinata condizione. Ecco la sintassi:
se condizione {
// Blocco di codice
}
Ecco un esempio che stampa “Pass” se il valore della variabile mark è maggiore di 50:
voti := 60
se segni > 50 {
fmt. Stampaln("Passaggio")
}
Puoi anche dichiarare la variabile mark nell'istruzione if in questo modo:
se segni := 60; segni > 50 {
fmt. Stampaln("Passaggio")
}
Quando si combinano le condizioni, Go consente di utilizzare operatori logici familiari da altri linguaggi come AND(&&), OR (||) e NOT(!).
L'operatore AND restituisce true solo se il valore alla sua destra e sinistra è true:
soleggiato := VERO
noClass := VERO
se soleggiato && nessuna classe {
fmt. Stampaln("Andare alla spiaggia")
}
L'operatore OR restituisce true se uno dei valori a destra o a sinistra è true:
oggi := "Domenica"
se oggi == "Domenica" || oggi == "Sabato" {
fmt. Stampaln("Dormire fino a tardi")
}
L'operatore NOT restituisce true solo se il valore è false:
segni := VERO
se !segna {
fmt. Stampaln("Nessun segno disponibile!")
}
Se...Altro affermazione
Il se altro istruzione esegue il codice corrispondente a seconda che la condizione sia soddisfatta.
se condizione {
// Viene eseguito se la condizione è soddisfatta
} altro {
// Viene eseguito se la condizione non è soddisfatta
}
Nell'esempio seguente, il programma stampa "Passato" se il valore totale dei voti è superiore a 50 e "Fallito" se è inferiore.
voti := 60
se segni > 50 {
fmt. Stampaln("Passaggio")
} altro {
fmt. Stampaln("Fallire")
}
Se...Altro Se...Altro Dichiarazione
Il se…altro se…altro istruzione consente di combinare più istruzioni if.
se condizione1 {
// Esegui se la condizione1 è soddisfatta
} altroSe condizione2 {
// Esegui se la condizione2 è soddisfatta
} altro {
// Viene eseguito se né la condizione1 né la condizione2 sono soddisfatte
}
Estendendo il se altro ad esempio, il programma seguente verifica anche se i voti sono superiori a 80 e stampa “Passed with distinzione” in caso affermativo:
voti := 60
se segni > 80 {
fmt. Stampaln("Passato con distinzione")
} altroSe segni > 50 {
fmt. Stampaln("Passaggio")
} altro {
fmt. Stampaln("Fallire")
}
Dichiarazione di cambio
Il interruttore istruzione è un'istruzione condizionale che consente di eseguire diverse azioni in base al valore di un'espressione. È possibile identificare i valori significativi come "casi" e agire di conseguenza.
L'istruzione switch in Go è leggermente diversa da quella di altri linguaggi di programmazione come C#, JavaScript e Python. Questo perché esegue solo il blocco di codice nel caso met. La parola chiave break, richiesta da altre lingue, non è necessaria qui:
interruttore espressione {
Astuccio espr1:
// Blocco di codice
Astuccio espr2:
// Blocco di codice
predefinito:
// Blocco di codice
}
Il codice precedente valuta l'espressione dopo la parola chiave switch, quindi la confronta con ogni valore case. Se un valore corrisponde, viene eseguito il blocco seguente. Puoi avere tutte le custodie di cui hai bisogno, ma devono essere tutte uniche. Il blocco predefinito viene eseguito se non c'è corrispondenza.
L'esempio seguente utilizza un'istruzione switch per visualizzare un elemento "da fare" per ogni giorno della settimana.
pacchetto principale
importare (
"fmt"
"volta"
)funz principale(){
oggi := ora. Ora(). Giorno feriale()
interruttore oggi {
Astuccio0:
fmt. Stampaln("Rilassare.")
Astuccio1:
fmt. Stampaln("Pulire la casa.")
Astuccio2:
fmt. Stampaln("Visita il dentista.")
Astuccio3:
fmt. Stampaln("Diserba il giardino.")
Astuccio4:
fmt. Stampaln("Mandare regali")
Astuccio5:
fmt. Stampaln("Fare il bucato.")
Astuccio6:
fmt. Stampaln("Scrivi un post sul blog.")
predefinito:
fmt. Stampaln("Nessuna attività pianificata.")
}
}
Qui, il pacchetto orario di Go fornisce il giorno della settimana come numero intero e, a seconda di quel valore, l'istruzione switch stampa una determinata attività.
Quando utilizzare le istruzioni condizionali
Le istruzioni condizionali ti aiutano a creare un flusso decisionale nel tuo programma. Come molte altre lingue, Go supporta diversi tipi di istruzioni condizionali. Puoi usarli per semplificare il tuo programma e assicurarti che il suo funzionamento logico sia corretto.
Utilizzare le istruzioni condizionali quando il flusso del programma dipende da un determinato valore, ad esempio l'input dell'utente.
Capire i loop in Go
Leggi Avanti
Argomenti correlati
- Programmazione
- Programmazione
Circa l'autore

Mary Gathoni è una sviluppatrice di software con la passione per la creazione di contenuti tecnici non solo informativi ma anche coinvolgenti. Quando non sta programmando o scrivendo, le piace uscire con gli amici e stare all'aria aperta.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Clicca qui per iscriverti