Go - Prendere Decisioni
Introduzione alle Decisioni in Go
Ciao là, futuro programmatore Go! Oggi esploriamo uno degli aspetti più cruciali della programmazione: prendere decisioni. Proprio come nella vita reale, i nostri programmi devono fare scelte basate su determinate condizioni. In Go, abbiamo diversi strumenti a disposizione per implementare queste decisioni. Insieme intraprendiamo questo viaggio entusiasmante!
Dichiarazione if
: Il Blocco di Base
Sintassi e Struttura
La dichiarazione if
è la base della prendere decisioni in Go. Ci permette di eseguire un blocco di codice solo se una certa condizione è vera. Ecco la struttura di base:
if condizione {
// codice da eseguire se la condizione è vera
}
Analizziamo un esempio semplice:
package main
import "fmt"
func main() {
età := 18
if età >= 18 {
fmt.Println("Sei idoneo a votare!")
}
}
In questo esempio, stiamo controllando se età
è maggiore o uguale a 18. Se lo è, stampiamo un messaggio. Eseguendo questo codice, vedrai il messaggio perché 18 è effettivamente maggiore o uguale a 18!
Aggiungere una Clausola else
E se vogliamo fare qualcosa quando la condizione è falsa? È qui che entra in gioco la clausola else
:
package main
import "fmt"
func main() {
età := 16
if età >= 18 {
fmt.Println("Sei idoneo a votare!")
} else {
fmt.Println("Mi dispiace, sei troppo giovane per votare.")
}
}
Ora, poiché età
è 16, che è inferiore a 18, il programma stamperà il messaggio nel blocco else
.
Catena if-else if-else
A volte, dobbiamo controllare più condizioni. Possiamo concatenare dichiarazioni if-else
come questa:
package main
import "fmt"
func main() {
punteggio := 75
if punteggio >= 90 {
fmt.Println("Voto A")
} else if punteggio >= 80 {
fmt.Println("Voto B")
} else if punteggio >= 70 {
fmt.Println("Voto C")
} else {
fmt.Println("Ha bisogno di migliorare")
}
}
Questo programma controlla il punteggio
e stampa il voto corrispondente. Con un punteggio di 75, stamperà "Voto C".
Dichiarazione switch
: Il Decisore a Scelta Multipla
Quando hai più condizioni da controllare, specialmente se tutte controllano la stessa variabile, la dichiarazione switch
può rendere il tuo codice più pulito ed efficiente.
Sintassi di Base del switch
package main
import "fmt"
func main() {
giorno := "Monday"
switch giorno {
case "Monday":
fmt.Println("È l'inizio della settimana lavorativa!")
case "Friday":
fmt.Println("TGIF!")
default:
fmt.Println("È una giornata regolare.")
}
}
In questo esempio, controlliamo il valore di giorno
e eseguiamo il caso corrispondente. Il caso default
viene eseguito se nessun altro caso corrisponde.
switch
con Casi Multipli
Puoi anche raggruppare più casi insieme:
package main
import "fmt"
func main() {
giorno := "Saturday"
switch giorno {
case "Monday", "Tuesday", "Wednesday", "Thursday", "Friday":
fmt.Println("È un giorno feriale.")
case "Saturday", "Sunday":
fmt.Println("È il weekend!")
default:
fmt.Println("Giorno invalido.")
}
}
Questo codice stamperà "È il weekend!" perché Saturday è uno dei giorni del weekend.
switch
senza Espressione
Go ti permette di usare switch
senza un'espressione, che può essere utilizzato come alternativa a catene lunghe di if-else
:
package main
import "fmt"
func main() {
punteggio := 85
switch {
case punteggio >= 90:
fmt.Println("Voto A")
case punteggio >= 80:
fmt.Println("Voto B")
case punteggio >= 70:
fmt.Println("Voto C")
default:
fmt.Println("Ha bisogno di migliorare")
}
}
Questo stamperà "Voto B" perché 85 è maggiore o uguale a 80.
Operatori Condizionali
Per rendere le nostre condizioni più potenti, utilizziamo operatori condizionali. Ecco una tabella dei più comuni:
Operatore | Descrizione | Esempio |
---|---|---|
== | Uguale a | a == b |
!= | Diverso da | a != b |
< | Minore di | a < b |
> | Maggiore di | a > b |
<= | Minore o uguale a | a <= b |
>= | Maggiore o uguale a | a >= b |
&& | AND logico | a && b |
|| | OR logico | a || b |
! | NOT logico | !a |
Vediamo questi in azione:
package main
import "fmt"
func main() {
età := 25
haPatente := true
if età >= 18 && haPatente {
fmt.Println("Puoi guidare un'auto!")
} else if età >= 18 && !haPatente {
fmt.Println("Sei abbastanza grande, ma hai bisogno di una patente.")
} else {
fmt.Println("Sei troppo giovane per guidare.")
}
}
Questo programma controlla sia età
che se la persona haPatente
per determinare se può guidare.
Conclusione
Prendere decisioni è un concetto fondamentale nella programmazione, e Go ci fornisce strumenti potenti per implementarlo. Ricorda, la pratica rende perfetti! Prova a creare i tuoi programmi utilizzando if
, switch
e diversi operatori condizionali.
Mentre continui il tuo viaggio in Go, ti troverai a utilizzare spesso questi costrutti. Sono i mattoni della logica nei tuoi programmi, aiutando il codice a prendere decisioni intelligenti basate su diverse condizioni.
Continua a programmare, continua a imparare, e, soprattutto, divertiti con Go!
Credits: Image by storyset