1 Aperçu des Instructions Conditionnelles
Les instructions conditionnelles sont des outils importants pour contrôler le flux logique des programmes en programmation. En Golang, les instructions conditionnelles sont similaires à celles d'autres langages de programmation, mais elles ont leurs propres caractéristiques. Elles nous permettent de décider quel code exécuter en fonction des conditions vraies ou fausses, augmentant ainsi considérablement la flexibilité et la maintenabilité du code.
2 Instruction if
2.1 Utilisation de base de l'instruction if
L'instruction if
est l'instruction conditionnelle la plus fondamentale dans le langage Go. Sa syntaxe est la suivante:
if condition {
// Code à exécuter lorsque la condition est vraie
}
Voici un exemple simple:
package main
import "fmt"
func main() {
x := 10
if x > 5 {
fmt.Println("x est supérieur à 5")
}
}
Ce code vérifiera si x
est supérieur à 5, et si c'est le cas, il effectuera l'opération d'affichage.
2.2 Expressions Conditionnelles
Les expressions conditionnelles se composent d'opérateurs de comparaison (tels que ==
, !=
, <
, >
, <=
, >=
) et d'opérateurs logiques (tels que &&
(ET), ||
(OU), !
(NON)).
Par exemple, pour vérifier si une variable est dans une certaine plage :
y := 20
if y >= 10 && y <= 30 {
fmt.Println("y est entre 10 et 30")
}
L'expression conditionnelle ci-dessus utilise l'opérateur logique &&
pour s'assurer que la valeur de y
est comprise entre 10 et 30.
2.3 Structure if...else et else if
Lorsque la condition if
n'est pas remplie, nous pouvons utiliser else
pour exécuter un bloc de code alternatif. Le else if
nous permet de vérifier plusieurs conditions. Voici un exemple :
score := 88
if score >= 90 {
fmt.Println("Excellent")
} else if score >= 80 {
fmt.Println("Bien")
} else if score >= 70 {
fmt.Println("Moyen")
} else {
fmt.Println("Sous la moyenne")
}
Ce code affichera différentes évaluations en fonction de la valeur de score
.
3 Instruction switch
3.1 Syntaxe de base du switch
L'instruction switch
est une instruction de branchement conditionnel plus concise, particulièrement adaptée aux situations où plusieurs valeurs doivent être évaluées. La syntaxe de base de l'instruction switch
est la suivante :
switch expression {
case valeur1:
// Code à exécuter lors de la correspondance avec valeur1
case valeur2:
// Code à exécuter lors de la correspondance avec valeur2
default:
// Code à exécuter par défaut
}
Si la valeur de expression
correspond à la valeur suivant case
, le bloc de code respectif sera exécuté.
3.2 Chute à travers du switch
Dans l'instruction switch
de Go, chaque branche ne passe pas automatiquement au cas suivant à moins que le mot-clé fallthrough
ne soit utilisé.
switch num {
case 1:
fmt.Println("Un")
fallthrough
case 2:
fmt.Println("Deux")
default:
fmt.Println("Ni Un ni Deux")
}
Dans le code ci-dessus, si num
vaut 1, même s'il correspond à case 1
, en raison de la présence du mot-clé fallthrough
, le programme continuera à exécuter le code dans case 2
et affichera "Deux".
3.3 Branchement de Type et Branchement Personnalisé
L'instruction switch
prend également en charge le branchement basé sur les types de variables, appelé branchement de type. De plus, nous pouvons créer des conditions de branchement personnalisées plus complexes.
Exemple de branchement de type :
var i interface{} = 1
switch i.(type) {
case int:
fmt.Println("i est un entier")
case float64:
fmt.Println("i est un float64")
default:
fmt.Println("i est un autre type")
}
Des conditions de branchement personnalisées peuvent être écrites pour effectuer des jugements conditionnels plus complexes au besoin.
4 Exercice Pratique
Dans cette section, nous approfondirons notre compréhension et notre application des instructions conditionnelles en Golang à travers des exemples concrets. À travers des défis de programmation pratiques, vous deviendrez plus compétent dans l'utilisation des instructions if
et switch
pour résoudre des problèmes du monde réel.
Calculateur de notes
Écrivons un calculateur de notes simple. Ce programme déterminera et affichera la note correspondante en fonction du score saisi par l'utilisateur. Les critères de notation sont les suivants :
- A pour les scores de 90 et plus
- B pour les scores entre 80 et 89
- C pour les scores entre 70 et 79
- D pour les scores entre 60 et 69
- F pour les scores inférieurs à 60
Nous pouvons utiliser une déclaration if
ou une instruction switch
pour mettre en œuvre cette fonctionnalité. Tout d'abord, examinons un exemple en utilisant une déclaration if
:
package main
import (
"fmt"
)
func main() {
var score int
fmt.Print("Veuillez saisir le score : ")
fmt.Scan(&score)
if score >= 90 {
fmt.Println("Note : A")
} else if score >= 80 {
fmt.Println("Note : B")
} else if score >= 70 {
fmt.Println("Note : C")
} else if score >= 60 {
fmt.Println("Note : D")
} else {
fmt.Println("Note : F")
}
}
Dans ce code, nous déclarons d'abord une variable score
pour stocker le score saisi par l'utilisateur. Nous utilisons la fonction fmt.Scan
pour obtenir la saisie de l'utilisateur. Ensuite, nous utilisons plusieurs déclarations if
et else if
pour déterminer la note correspondante au score et utilisons la fonction fmt.Println
pour afficher la note.
Ensuite, regardons un exemple en utilisant une instruction switch
:
package main
import (
"fmt"
)
func main() {
var score int
fmt.Print("Veuillez saisir le score : ")
fmt.Scan(&score)
switch {
case score >= 90:
fmt.Println("Note : A")
case score >= 80:
fmt.Println("Note : B")
case score >= 70:
fmt.Println("Note : C")
case score >= 60:
fmt.Println("Note : D")
default:
fmt.Println("Note : F")
}
}
Dans l'exemple utilisant l'instruction switch
, la structure du code est plus concise et claire. Nous n'avons pas besoin d'utiliser de nombreuses déclarations if
et else if
consécutives ; au lieu de cela, nous spécifions directement les conditions dans chaque case
après le switch
. Le score qui ne correspond pas à la condition du case
précédent se déplacera automatiquement vers le case
suivant jusqu'à ce qu'il corresponde à la branche conditionnelle correspondante ou atteigne le default
, qui affiche la note F
.
Maintenant que vous avez appris à utiliser les if
et les switch
pour les jugements conditionnels, essayez d'écrire votre propre programme et pratiquez pour approfondir votre compréhension.
Dans la section suivante, nous continuerons à présenter des problèmes plus pratiques pour vous aider à consolider votre maîtrise des instructions conditionnelles en Golang.
Veuillez noter que le code ci-dessus est à des fins pédagogiques. Lorsqu'il est utilisé dans des applications pratiques, des facteurs tels que l'interaction utilisateur et la gestion des erreurs devraient être pris en compte pour le rendre plus robuste.