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!

Go - Decision Making

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