Swicth
Le fonctionnement de switch est similaire à celui des autres langages de programmation : il compare différentes conditions et s’arrête dès qu’une condition est remplie.
syntax :
x := "chat"
switch x {
case "renard":
fmt.Println("super")
case "monster":
fmt.Println("pas super")
default :
fmt.Println(x)
}
Vous avez la possibilité de comparer une valeur avec plusieurs cas.
func main() {
jour := "Mercredi"
switch jour {
case "Lundi", "Mardi", "Mercredi":
fmt.Println("C'est la première moitié de la semaine.")
case "Jeudi", "Vendredi":
fmt.Println("Le week-end approche.")
case "Samedi", "Dimanche":
fmt.Println("C'est le week-end !")
default:
fmt.Println("Ce n'est pas un jour valide.")
}
}
Comme avec if déclarer une variable utilisable dans ce bloc.
func main() {
valeur := 15
switch resultat := valeur * 2; {
case resultat < 10:
fmt.Println("Le résultat est inférieur à 10.")
case resultat >= 10 && resultat < 30:
fmt.Printf("Le résultat est %d, ce qui est entre 10 et 30.\n", resultat)
case resultat >= 30:
fmt.Printf("Le résultat est %d, ce qui est supérieur ou égal à 30.\n", resultat)
default:
fmt.Println("Cas inattendu.")
}
}