Go - Prise de décision
Introduction à la prise de décision en Go
Salut là, futur programmeur Go ! Aujourd'hui, nous plongeons dans un des aspects les plus cruciaux de la programmation : la prise de décision. Juste comme dans la vie réelle, nos programmes doivent faire des choix basés sur certaines conditions. En Go, nous avons plusieurs outils à notre disposition pour mettre en œuvre ces décisions. Commençons cette aventure passionnante ensemble !
Instruction if
: Le Bloc de Base
Syntaxe et Structure
L'instruction if
est la base de la prise de décision en Go. Elle nous permet d'exécuter un bloc de code uniquement si une certaine condition est vraie. Voici la structure de base :
if condition {
// code à exécuter si la condition est vraie
}
Voyons un exemple simple :
package main
import "fmt"
func main() {
age := 18
if age >= 18 {
fmt.Println("Vous êtes éligible pour voter !")
}
}
Dans cet exemple, nous vérifions si l'age
est de 18 ans ou plus. Si c'est le cas, nous affichons un message. Exécutez ce code, et vous verrez le message car 18 est bien supérieur ou égal à 18 !
Ajout d'une Clause else
Que se passe-t-il si nous voulons faire quelque chose lorsque la condition est fausse ? C'est là que rentre en jeu la clause else
:
package main
import "fmt"
func main() {
age := 16
if age >= 18 {
fmt.Println("Vous êtes éligible pour voter !")
} else {
fmt.Println("Désolé, vous êtes trop jeune pour voter.")
}
}
Maintenant, puisque age
est de 16 ans, ce qui est inférieur à 18, le programme affichera le message dans le bloc else
.
Chaîne if-else if-else
Parfois, nous devons vérifier plusieurs conditions. Nous pouvons chaîner des instructions if-else
comme ceci :
package main
import "fmt"
func main() {
score := 75
if score >= 90 {
fmt.Println("Note A")
} else if score >= 80 {
fmt.Println("Note B")
} else if score >= 70 {
fmt.Println("Note C")
} else {
fmt.Println("Besoin d'amélioration")
}
}
Ce programme vérifie le score
et affiche la note correspondante. Avec un score de 75, il affichera "Note C".
Instruction switch
: Le Décideur Multi-Chemin
Lorsque vous avez plusieurs conditions à vérifier, surtout si elles vérifient toutes la même variable, l'instruction switch
peut rendre votre code plus propre et plus efficace.
Syntaxe de Base du switch
package main
import "fmt"
func main() {
day := "Monday"
switch day {
case "Monday":
fmt.Println("C'est le début de la semaine de travail !")
case "Friday":
fmt.Println("TGIF !")
default:
fmt.Println("C'est un jour régulier.")
}
}
Dans cet exemple, nous vérifions la valeur de day
et exécutons le cas correspondant. Le cas default
est exécuté si aucun des autres cas ne correspond.
switch
avec Multiples Cas
Vous pouvez également regrouper plusieurs cas ensemble :
package main
import "fmt"
func main() {
day := "Saturday"
switch day {
case "Monday", "Tuesday", "Wednesday", "Thursday", "Friday":
fmt.Println("C'est un jour ouvré.")
case "Saturday", "Sunday":
fmt.Println("C'est le week-end !")
default:
fmt.Println("Jour invalide.")
}
}
Ce code affichera "C'est le week-end !" car samedi est l'un des jours du week-end.
switch
sans Expression
Go permet d'utiliser switch
sans expression, ce qui peut être utilisé comme alternative à des chaînes longues if-else
:
package main
import "fmt"
func main() {
score := 85
switch {
case score >= 90:
fmt.Println("Note A")
case score >= 80:
fmt.Println("Note B")
case score >= 70:
fmt.Println("Note C")
default:
fmt.Println("Besoin d'amélioration")
}
}
Cela affichera "Note B" car 85 est supérieur ou égal à 80.
Opérateurs Conditionnels
Pour rendre nos conditions plus puissantes, nous utilisons des opérateurs conditionnels. Voici un tableau des plus courants :
Opérateur | Description | Exemple |
---|---|---|
== | Égal à | a == b |
!= | Différent de | a != b |
< | Inférieur à | a < b |
> | Supérieur à | a > b |
<= | Inférieur ou égal à | a <= b |
>= | Supérieur ou égal à | a >= b |
&& | ET logique | a && b |
|| | OU logique | a || b |
! | NON logique | !a |
Voyons-les en action :
package main
import "fmt"
func main() {
age := 25
hasLicense := true
if age >= 18 && hasLicense {
fmt.Println("Vous pouvez conduire une voiture !")
} else if age >= 18 && !hasLicense {
fmt.Println("Vous êtes assez âgé, mais vous avez besoin d'un permis.")
} else {
fmt.Println("Vous êtes trop jeune pour conduire.")
}
}
Ce programme vérifie à la fois l'age
et si la personne hasLicense
pour déterminer si elle peut conduire.
Conclusion
La prise de décision est un concept fondamental en programmation, et Go nous fournit des outils puissants pour le mettre en œuvre. Souvenez-vous, la pratique rend parfait ! Essayez de créer vos propres programmes en utilisant if
, switch
, et différents opérateurs conditionnels.
While you continue your journey in Go, you'll find yourself using these constructs frequently. They're the building blocks of logic in your programs, helping your code make smart decisions based on different conditions.
Keep coding, keep learning, and most importantly, have fun with Go !
Credits: Image by storyset