Basic Syntax
La syntaxe de l'instruction conditionnelle switch
est similaire à celle de l'instruction conditionnelle if
, car elles ont toutes deux des évaluations conditionnelles. La syntaxe de base est la suivante :
switch condition {
case val1:
// code block
case val2:
// code block
...
default:
// code block
}
La condition peut être une expression de n'importe quel type. Lorsque la condition correspond à la valeur d'une certaine instruction case
, l'instruction case
correspondante sera exécutée, puis le programme sortira de la branche switch
actuelle.
Les valeurs dans les instructions case
doivent être du même type que l'expression de la condition.
Le programme évaluera les instructions case
de haut en bas et exécutera la première instruction case
qui correspond. Une fois l'exécution terminée, il sortira de la branche switch
actuelle.
L'instruction default
est similaire à l'instruction else
. Lorsqu'aucune autre instruction case
ne correspond à la condition, l'instruction default
sera exécutée.
Regardons un exemple de prévision météorologique. Créez un nouveau fichier nommé switch.go
et écrivez le code suivant :
cd ~/project
touch switch.go
package main
import (
"fmt"
)
func main() {
// Today's weather
weather := "rainy"
switch weather {
case "snow":
fmt.Println("Remember to wear a scarf today.🧣")
case "rainy":
fmt.Println("Remember to bring an umbrella today.🌂")
default:
fmt.Println("Today is sunny.☀")
}
}
Exécutez le code :
go run switch.go
La sortie est la suivante :
Remember to bring an umbrella today.🌂
Cette prévision météorologique affichera différents résultats en fonction des conditions météorologiques. Tout d'abord, nous avons défini la météo d'aujourd'hui comme "rainy" (pluvieux). Dans la branche switch-case
ci-dessous, nous avons défini trois conditions différentes. Lorsqu'il neige, nous vous rappelons de porter une écharpe, lorsqu'il pleut, nous vous rappelons d'apporter un parapluie, et sinon, nous considérons que c'est une journée ensoleillée.