Ajouter de la logique avec les instructions de contrôle

Dans cet article, nous apprendrons comment contrôler l'exécution d'un programme golang en créant des boucles, des tests de condition ainsi que des évaluations multiples. Les instructions for, if et switch s'écrivent et fonctionnent de la même manière que dans les autres langages de développement. Peut-être à la différence qu'il n'est pas nécessaire d'utiliser des parenthèses. Sauf dans les cas où une ambiguïté est possible. Par exemple, dans le cas d'une conversion ou d'un littéral composite – cas que nous verrons en fin d'article.

Dans tous les cas, n'hésitez pas à modifier le code dans l'éditeur et à l'exécuter.

Boucler avec for

Dans l'exemple ci-dessous, nous pouvons nous faire la main avec les trois écritures possibles :

  • Avec une seule condition.
  • Condition initiale, condition finale et modification du compteur.
  • Boucle sans fin. En fait et dans ce cas précis, la boucle s'arrêtera après la première itération.

On note que l'on peut mettre fin à une boucle grâce au mot-clé break.

 

Le mot-clé for est aussi utilisé pour les canaux, mais c'est une autre histoire...

Tester avec if

Le mot-clé if peut être associé au mot-clé else pour effectuer des embranchements conditionnels SI/SINON. Il est également possible de créer des structures plus complexes :

  1. SI (a) FAIRE A : A est exécuté si a vrai.
  2. SINON SI (b) FAIRE B : B est exécuté si a faux, mais b vrai
  3. SINON FAIRE C : C est exécuté si a et b sont faux

Une déclaration peut précéder immédiatement des embranchements conditionnels. Les variables qui y sont déclarées sont disponibles dans toutes les branches.

 

Évaluer avec switch

Il est possible de coder des évaluations de type SELON, mais, si l'exemple de base est comparable à beaucoup de langages, l'implémentation de golang est plus puissante. En effet, il est possible d'évaluer plusieurs expressions dans le même CAS en les séparant par une virgule. Tout comme l'expression évaluée dans chaque CAS peut ne pas être constante.

Le mot-clé default permet de créer un cas par défaut afin d'exécution des instructions lorsque tous les autres cas ne correspondent pas.

 

Évaluer le type avec switch

On peut utiliser le mot-clé switch afin de déterminer le type sous-jacent d'une interface.

Dans certains cas, on ne peut pas évaluer quel est le type sous-jacent, surtout dans le cas des nombres. bien entendu, si l'on avait écrit 12.0, l'ambiguïté aurait été levée et le type sous-jacent serait float64

 

Ambiguïtés de compilation

Avant de commencer, disons tout de suite que ce cas de figure est très rare.

Une ambiguïté de compilation se pose quand un composite littéral utilisant la forme TypeName du LiteralType apparaît entre le mot-clé et l'accolade d'ouverture du bloc d'une instruction if, for ou switch, parce que les accolades entourant les expressions dans le littéral sont confondues avec celles qui introduisent le bloc d'instructions. Pour résoudre l'ambiguïté dans ce cas rare, le littéral composite doit figurer entre parenthèses.

if x == (T{a,b,c}[i]) { … }
if (x == T{a,b,c}[i]) { … }

Étiquettes :   debuter 
Portrait de Benjamin BALET
Benjamin BALET
Consultant APM

Retrouvez mes cooordonées

Benjamin BALET sur viadeo






Vous aimerez aussi

Les lois de la réflexion

Une traduction du blog officiel de golang expliquant le mécanisme de la réflexion en Go.   Lire »

Gobs le format natif d'échange de données en Go

Traduction d'un article du blog officiel expliquant comment échanger des données entre deux programmes golang grâce à un format natif   Lire »

Le modèle mémoire du runtime et du langage go

Traduction d'une partie des spécifications officielles du langage go, cet article explique comment go gère la mémoire.   Lire »

Canaux et go routines avec ou sans état

Exemples d'utilisation du type chan et des go routines stateful et stateless   Lire »

Types, Valeurs, variables et constantes

Cet article vous permettra de comprendre une des bases de tous les langages de programmation : Types, Valeurs, Variables et constantes en go   Lire »

Commentaires

Soyez le premier à commenter cet article

Publier un commentaires

Tous les commentaires sont soumis à modération. Les balises HTML sont pour la plupart autorisées. Les liens contextuels et intéressants sont en follow.

(requis)
(requis)
(requis, mais non publié)
(recommandé si vous souhaitez être publié)