Maison > développement back-end > Golang > Comment utilisez-vous les déclarations de pause et de poursuivre en Go?

Comment utilisez-vous les déclarations de pause et de poursuivre en Go?

Emily Anne Brown
Libérer: 2025-03-19 14:36:34
original
163 Les gens l'ont consulté

Comment utilisez-vous les déclarations de pause et de poursuivre en Go?

Dans GO, les instructions break et continue sont utilisées pour contrôler l'écoulement des boucles telles que for , range et switch . Voici comment ils fonctionnent:

  • Déclaration de rupture:
    L'instruction break est utilisée pour mettre fin à l'exécution d'une boucle prématurément. Lorsque break est rencontrée à l'intérieur d'une boucle, la boucle est immédiatement sortie et le contrôle du programme reprend à l'instruction suivante suivant la boucle.

     <code class="go">for i := 0; i </code>
    Copier après la connexion
    Copier après la connexion
    Copier après la connexion
    Copier après la connexion

    Dans cet exemple, la boucle imprimera les numéros 0 à 4 puis sortira lorsque i 5.

  • Continuer la déclaration:
    L'instruction continue est utilisée pour ignorer le reste de l'itération actuelle de la boucle et passer à la prochaine itération. Lorsque continue est rencontrée à l'intérieur d'une boucle, l'itération actuelle est abandonnée et la boucle procède à la prochaine itération.

     <code class="go">for i := 0; i </code>
    Copier après la connexion
    Copier après la connexion
    Copier après la connexion
    Copier après la connexion

    Dans cet exemple, la boucle imprimera les numéros 0 à 4 et 6 à 9, en sautant le numéro 5.

break et continue peuvent être utilisées dans des boucles imbriquées. Cependant, ils n'affectent que la boucle la plus intérieure dont ils font partie à moins d'être utilisé avec des étiquettes pour contrôler les boucles extérieures.

Quels sont les cas d'utilisation courants pour l'instruction BREAK dans la programmation GO?

L'énoncé break est couramment utilisé dans la programmation GO dans les scénarios suivants:

  • Sortir des boucles infinies: Lorsque vous souhaitez créer une boucle infinie qui peut être arrêtée dans certaines conditions, break peut être utilisée pour quitter la boucle.

     <code class="go">for { input := getInput() if input == "exit" { break } processInput(input) }</code>
    Copier après la connexion
  • Recherche dans les collections: lors de l'itération d'une collection (comme un tableau ou une tranche) et que vous devez trouver un élément spécifique, vous pouvez utiliser break pour arrêter de rechercher une fois l'élément trouvé.

     <code class="go">numbers := []int{1, 2, 3, 4, 5} target := 3 for _, num := range numbers { if num == target { fmt.Println("Found:", target) break } }</code>
    Copier après la connexion
  • Correspondance de cas dans Instructions Switch: L'instruction break dans GO est implicitement ajoutée à la fin de chaque cas dans une instruction switch , mais elle peut être utilisée explicitement dans les instructions switch pour quitter la structure switch entière prématurément.

     <code class="go">switch num := 3; num { case 1: fmt.Println("One") case 2: fmt.Println("Two") case 3: fmt.Println("Three") break // Not needed explicitly here but can be used in some scenarios default: fmt.Println("Other") }</code>
    Copier après la connexion
  • La sortie des boucles imbriquées: avec l'utilisation d'étiquettes, break peut être utilisée pour sortir des boucles imbriquées.

     <code class="go">OuterLoop: for i := 0; i </code>
    Copier après la connexion

Comment l'instruction CONSTANT affecte-t-elle l'exécution de la boucle dans GO?

L'énoncé continue dans GO affecte directement l'exécution d'une boucle de la manière suivante:

  • Sauter l'itération actuelle: lorsque continue est rencontrée dans le corps d'une boucle, elle passe immédiatement à l'itération suivante de la boucle. Toutes les déclarations après continue dans la même itération sont ignorées.

     <code class="go">for i := 0; i </code>
    Copier après la connexion
    Copier après la connexion
    Copier après la connexion
    Copier après la connexion

    Dans cet exemple, la sortie sera 0 , 1 , 3 , 4 . Le numéro 2 est ignoré car l'instruction continue entraîne l'abandon de l'itération actuelle lorsque i suis 2 .

  • Dans les boucles imbriquées: l'instruction continue n'affecte que la boucle la plus intérieure dans laquelle il apparaît. Il n'affecte pas les boucles extérieures.

     <code class="go">for i := 0; i </code>
    Copier après la connexion
    Copier après la connexion
    Copier après la connexion
    Copier après la connexion

    Dans cet exemple, lorsque j est égal 1 , l'itération actuelle de la boucle intérieure est ignorée, passant à la valeur j suivante. La boucle extérieure continue comme d'habitude.

  • Efficacité du traitement des boucles: continue peut être utile pour sauter un traitement inutile ou manipuler des exceptions dans des boucles, améliorant ainsi l'efficacité de la boucle.

     <code class="go">numbers := []int{1, -2, 3, -4, 5} for _, num := range numbers { if num </code>
    Copier après la connexion

    Dans ce cas, les nombres négatifs sont ignorés et seuls les nombres positifs sont imprimés, ce qui entraîne un traitement de boucle plus efficace.

Quelles sont les principales différences entre la rupture et les boucles GO continue?

Les principales différences entre les instructions break et continue dans les boucles GO sont:

  • Effet sur l'exécution de la boucle:

    • break termine immédiatement la boucle entière, en quittant la boucle et en passant à l'instruction suivante suivant la boucle.
    • continue à sauter le reste de l'itération actuelle et passe à la prochaine itération de la boucle.
  • Cas d'utilisation:

    • break est généralement utilisée lorsque vous devez quitter complètement une boucle lors de la rencontre d'une certaine condition (par exemple, trouver un élément, atteindre une limite).
    • continue est utilisé lorsque vous souhaitez ignorer l'itération actuelle mais continuer avec la boucle (par exemple, sauter certaines valeurs, en évitant le traitement inutile).
  • Impact sur les boucles imbriquées:

    • Sans étiquettes, break et continue seulement la boucle la plus intérieure dont ils font partie.
    • Avec les étiquettes, break peut quitter n'importe quelle boucle extérieure, tandis que continue peut passer à la prochaine itération de n'importe quelle boucle extérieure.
  • Débit de contrôle:

    • break change le flux de contrôle en terminant la boucle, souvent utilisée pour la terminaison précoce.
    • continue maintient le flux de la boucle mais modifie l'itération actuelle, utile pour le filtrage ou le traitement sélectif.

Voici un résumé dans un format tabulaire:

Aspect break continue
Effet d'exécution de boucle Termine immédiatement la boucle Saute le reste de l'itération actuelle
Cas d'utilisation typique Quitter la boucle sur une condition Sauter une itération dans une condition spécifique
Impact sur les boucles imbriquées Affecte uniquement la boucle la plus intérieure (sauf si étiquetée) Affecte uniquement la boucle la plus intérieure (sauf si étiquetée)
Changement de flux de contrôle Quitte la boucle Passe à la prochaine itération

Comprendre ces différences aide à choisir la bonne déclaration pour contrôler efficacement le comportement de boucle en Go.

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!

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