Maison > développement back-end > Golang > Golang - Si chaque cas de commutation est évalué, quel est l'ordre ?

Golang - Si chaque cas de commutation est évalué, quel est l'ordre ?

WBOY
Libérer: 2024-02-08 22:21:09
avant
551 Les gens l'ont consulté

Golang - 如果 switch case 中的每个 case 都进行评估,那么顺序是什么?

L'éditeur php Baicao est là pour répondre à une question sur Golang : "Si chaque cas dans le cas switch est évalué, quel est l'ordre dans Golang, l'ordre d'exécution des instructions switch est de haut en bas. Ceux ci-dessous ?" sont évalués dans l’ordre des cas dans le code. Une fois qu'un cas est mis en correspondance avec succès, le bloc de code correspondant sera exécuté, puis le programme sortira de l'instruction switch. S'il n'y a pas de cas correspondant, l'instruction par défaut (le cas échéant) sera exécutée. S'il n'y a pas d'instruction par défaut, l'instruction switch se terminera directement. Il s'agit des règles d'ordre et d'exécution des cas de commutation dans Golang.

Contenu de la question

Supposons que nous ayons un boîtier de commutation

switch {
  case true:
   fmt.Println(1)
  case true:
   fmt.Println(2)
Copier après la connexion

Quel sera le résultat ?

J'ai entendu dire que Golang choisirait des expressions pseudo-aléatoires, mais je l'ai testé dans go-playground et j'ai découvert qu'il suivrait l'ordre de haut en bas, donc le résultat sera 1

Solution de contournement

Exécutez le premier avec Cases correspondant à l'instruction switch :

https://www.php.cn/link/77772713a7d7e02b10ca9bd90e4f6a31

Lorsque plusieurs branches sont prêtes à continuer, une sélection pseudo-aléatoire se produit dans l'instruction select au lieu de dans l'instruction switch.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal