Section 5 : Les conditionnelles
if ... else
La particularité des conditionnelles dans le langage Go est qu'on ne place pas la condition entre parenthèses, et que les accolades sont obligatoires autour du code à exécuter dans la partie if et dans la partie else, même s'il y a seulement une ligne de code à exécuter. De plus, l'accolade d'ouverture { doit être sur la même ligne que le if ou le else.
Utilisez les opérateurs && pour la conjonction (et), || pour la disjonction (ou) et ! pour la négation. Ajouter des parenthèses au besoin pour s'assurer que les opérateurs sont appliqués dans le bon ordre.
Sortie pour des appels avec les valeurs 5, 0, et -5 :
Il n'y a pas de syntaxe particulière pour les séquences de if ... else, il faut simplement démarrer un autre if ... else tout de suite après le premier else.
Sortie pour des appels avec les valeurs 5, 0, et -5 :
switch
Un switch (aiguillage) est une bonne façon de simplifier la syntaxe quand on a besoin d'une série de if ... else. Il existe 2 principales formes de switch en Go : un switch sur une variable avec des cas sur différentes valeurs possibles de la variable, et un switch sans variable avec des cas sur des expressions booléennes.
switch sans variable
Sortie pour des appels avec les valeurs 5, 0, et -5 : même que l'exemple précédent.
Cet exemple correspond presque exactement à l'exemple précédent écrit avec des if ... else, sauf pour le dernier cas qui pourrait être remplacé par le cas spécial default qui correspond au dernier else d'une série de if ... else. On obtiendra la même sortie avec ce changement. Dans ce cas-ci, remplacer case x < 0 par default est approprié parce que la condition x < 0 couvre toutes les possibilités restantes. Notez qu'il n'est pas nécessaire d'utiliser des break pour terminer chaque cas.
switch avec variable
Sortie pour des appels avec les valeurs "Denis", "", et "Alice":
Lorsqu'on switch sur une variable, les cas doivent être des valeurs spécifiques de la variable. Si on veut grouper plusieurs valeurs dans un même cas, on peut les séparer par des virgules, comme dans l'exemple suivant.
Sortie pour des appels avec les valeurs "Denis" et "Benoit":