One place for hosting & domains

      Continue

      Usando instruções break e continue ao trabalhar com loops em Go


      Introdução

      O uso de loops do tipo “for” em Go permite que você automatize e repita tarefas de maneira eficiente.

      Aprender como controlar a operação e o fluxo dos loops permitirá uma lógica personalizada em seu programa. É possível controlar seus loops com as instruções break [interromper] e continue [continuar].

      Instrução break

      Em Go, a instrução break termina a execução do loop atual. Uma break está quase sempre pareada com uma instrução condicional if.

      Vamos ver um exemplo que usa a instrução break em um loop do tipo "for":

      break.go

      package main
      
      import "fmt"
      
      func main() {
          for i := 0; i < 10; i++ {
              if i == 5 {
                  fmt.Println("Breaking out of loop")
                  break // break here
              }
              fmt.Println("The value of i is", i)
          }
          fmt.Println("Exiting program")
      }
      

      Este pequeno programa cria um loop do tipo "for" que irá iterar enquanto i for menor que 10.

      Dentro do loop do tipo "for", há uma instrução if. A instrução if testa a condição de i para ver se o valor é menor que 5. Se o valor i não for igual a 5, o loop continua e imprime o valor de i. Se o valor de i for igual a 5, o loop irá executar a instrução break, imprimir que ele está Breaking out of loop [Saindo do loop] e parar de executar o loop. Ao final do programa, imprimimos Exiting program [Saindo do programa] para exprimir que saímos do loop.

      Quando executarmos esse código, nosso resultado será o seguinte:

      Output

      The value of i is 0 The value of i is 1 The value of i is 2 The value of i is 3 The value of i is 4 Breaking out of loop Exiting program

      Isso mostra que, uma vez que o número inteiro i é avaliado como equivalente a 5, o loop interrompe, uma vez que o programa é orientado a fazer isso com a instrução break.

      Loops aninhados

      É importante lembrar que a instrução break irá parar apenas a execução do loop mais interno em que for chamada. Se tiver um conjunto aninhado de loops, será necessário uma interrupção para cada loop se desejar.

      nested.go

      package main
      
      import "fmt"
      
      func main() {
          for outer := 0; outer < 5; outer++ {
              if outer == 3 {
                  fmt.Println("Breaking out of outer loop")
                  break // break here
              }
              fmt.Println("The value of outer is", outer)
              for inner := 0; inner < 5; inner++ {
                  if inner == 2 {
                      fmt.Println("Breaking out of inner loop")
                      break // break here
                  }
                  fmt.Println("The value of inner is", inner)
              }
          }
          fmt.Println("Exiting program")
      }
      

      Neste programa, temos dois loops. Embora ambos iterem 5 vezes, cada um tem uma instrução condicional if com uma instrução break. O loop exterior será interrompido se o valor outer for igual a 3. O loop interno será interrompido se o valor inner for 2.

      Se executarmos o programa, veremos o seguinte resultado:

      Output

      The value of outer is 0 The value of inner is 0 The value of inner is 1 Breaking out of inner loop The value of outer is 1 The value of inner is 0 The value of inner is 1 Breaking out of inner loop The value of outer is 2 The value of inner is 0 The value of inner is 1 Breaking out of inner loop Breaking out of outer loop Exiting program

      Note que cada vez que o loop interno é interrompido, o loop exterior não é. Isso acontece porque o break irá interromper apenas o loop mais interno de onde for chamado.

      Vimos de que maneira o uso da instrução break irá interromper a execução de um loop. Em seguida, vamos ver como é possível continuar a iteração de um loop.

      Instrução continue

      A instrução continue é usada quando você quer pular a parte restante do loop, retornar ao topo do loop e dar continuidade a uma nova iteração.

      Tal como com a instrução break, a instrução continue é comumente usada com uma instrução condicional if.

      Usando o mesmo programa de loop do tipo "for" que na seção anterior da Instrução break, usaremos uma instrução continue, em vez de uma instrução break:

      continue.go

      package main
      
      import "fmt"
      
      func main() {
          for i := 0; i < 10; i++ {
              if i == 5 {
                  fmt.Println("Continuing loop")
                  continue // break here
              }
              fmt.Println("The value of i is", i)
          }
          fmt.Println("Exiting program")
      }
      

      A diferença entre usar a instrução continue, em vez de uma instrução break, é que o nosso código continuará apesar da interrupção quando a variável i for avaliada como equivalente a 5. Vamos ver nosso resultado:

      Output

      The value of i is 0 The value of i is 1 The value of i is 2 The value of i is 3 The value of i is 4 Continuing loop The value of i is 6 The value of i is 7 The value of i is 8 The value of i is 9 Exiting program

      Aqui, vemos que a linha The value of i is 5 [O valor de i é 5] nunca ocorre no resultado, mas o loop continua após aquele ponto para imprimir linhas para os números 6-10 antes de sair do loop.

      Você pode usar a instrução continue para evitar um código condicional extremamente aninhado, ou para otimizar um loop, eliminando casos que ocorram com frequência e que você gostaria de rejeitar.

      A instrução continue faz com que um programa pule certos fatores que surjam dentro de um loop, mas depois continuem pelo restante do loop.

      Conclusão

      As instruções break e continue em Go permitirão que você use loops do tipo "for" de maneira mais eficaz em seu código.



      Source link

      Usar instrucciones break y continue cuando se trabaja con bucles en Go


      Introducción

      Usar bucles for en Go le permite automatizar y repetir tareas de forma eficiente.

      Aprender a controlar el funcionamiento y el flujo de los bucles hará posible una lógica personalizada en su programa. Puede controlar sus bucles con las instrucciones break y continue.

      Instrucción break

      En Go, la instrucción break finaliza la ejecución del bucle actual. Una instrucción break casi siempre se sincroniza con una instrucción condicional if.

      Veamos un ejemplo en el que se utiliza la instrucción break en un bucle for:

      break.go

      package main
      
      import "fmt"
      
      func main() {
          for i := 0; i < 10; i++ {
              if i == 5 {
                  fmt.Println("Breaking out of loop")
                  break // break here
              }
              fmt.Println("The value of i is", i)
          }
          fmt.Println("Exiting program")
      }
      

      Este pequeño programa crea un bucle for que se iterará mientras i sea inferior a 10.

      En el bucle for, hay una instrucción if. La instrucción if prueba la condición de i para ver si el valor es inferior a 5. Si el valor de i no es igual a 5, el bucle continúa e imprime el valor de i. Si el valor de i es igual a 5, el bucle ejecuta la instrucción break, imprime Breaking out of loop y deja de ejecutarse. Al final del programa, imprimimos Exiting program para indicar que cerramos el bucle.

      Cuando ejecutemos este código, el resultado será el siguiente:

      Output

      The value of i is 0 The value of i is 1 The value of i is 2 The value of i is 3 The value of i is 4 Breaking out of loop Exiting program

      Esto muestra que una vez que se evalúa el entero i como equivalente a 5, el bucle se rompe porque se indica al programa que lo haga con la instrucción break.

      Bucles anidados

      Es importante recordar que la instrucción break solo detendrá la ejecución del bucle más interno en el que se invoca. Si tiene un conjunto de bucles anidados, necesitará una instrucción break para cada bucle, si lo desea.

      nested.go

      package main
      
      import "fmt"
      
      func main() {
          for outer := 0; outer < 5; outer++ {
              if outer == 3 {
                  fmt.Println("Breaking out of outer loop")
                  break // break here
              }
              fmt.Println("The value of outer is", outer)
              for inner := 0; inner < 5; inner++ {
                  if inner == 2 {
                      fmt.Println("Breaking out of inner loop")
                      break // break here
                  }
                  fmt.Println("The value of inner is", inner)
              }
          }
          fmt.Println("Exiting program")
      }
      

      En este programa, hay dos bucles. Aunque ambos bucles se repiten 5 veces, cada uno tiene una instrucción if condicional con una instrucción break. El bucle externo se interrumpirá si el valor de outer es igual a 3. El bucle interno se interrumpirá si el valor de inner es 2.

      Si ejecutamos el programa, veremos el siguiente resultado:

      Output

      The value of outer is 0 The value of inner is 0 The value of inner is 1 Breaking out of inner loop The value of outer is 1 The value of inner is 0 The value of inner is 1 Breaking out of inner loop The value of outer is 2 The value of inner is 0 The value of inner is 1 Breaking out of inner loop Breaking out of outer loop Exiting program

      Observe que cada vez que se interrumpe el bucle interno, no sucede lo mismo con el externo. Esto es porque break solo interrumpirá el bucle más interno desde el que se invoca.

      Hemos visto cómo el uso de break detendrá la ejecución de un bucle. A continuación, veremos la forma de continuar la iteración de un bucle.

      Instrucción continue

      La instrucción continue se usa cuando se busca omitir la parte restante del bucle, volver a la parte superior de este y continuar con una nueva iteración.

      Como en el caso de la instrucción break, la instrucción continue se utiliza comúnmente con una instrucción if condicional.

      Usando el mismo programa de bucle for que en la sección Instrucción break, emplearemos la instrucción continue en vez de break:

      continue.go

      package main
      
      import "fmt"
      
      func main() {
          for i := 0; i < 10; i++ {
              if i == 5 {
                  fmt.Println("Continuing loop")
                  continue // break here
              }
              fmt.Println("The value of i is", i)
          }
          fmt.Println("Exiting program")
      }
      

      La diferencia al usar la instrucción continue en vez de una instrucción break radica en que nuestro código continuará a pesar de la interrupción cuando la variable i se evalúe como equivalente a 5. Veamos el resultado:

      Output

      The value of i is 0 The value of i is 1 The value of i is 2 The value of i is 3 The value of i is 4 Continuing loop The value of i is 6 The value of i is 7 The value of i is 8 The value of i is 9 Exiting program

      Aquí vemos que la línea The value of i is 5 nunca se aparece en el resultado, pero el bucle continúa después de ese punto para imprimir líneas para los números 6 a 10 antes de cerrarse.

      Puede usar la instrucción continue para evitar código condicional profundamente anidado o para optimizar un bucle eliminando los casos frecuentes que desee rechazar.

      La instrucción continue hace que un programa omita determinados factores que surgen dentro de un bucle, pero luego continuará con resto de este.

      Conclusión

      Las instrucciones break y continue en Go le permitirán usar los bucles for de forma más eficaz en su código.



      Source link

      Использование выражений Break и Continue при работе с циклами в Go


      Введение

      Использование циклов for в Go позволяет эффективно автоматизировать и повторять выполнение задач.

      Понимание принципов контроля и работы циклов позволяет использовать в программе персонализированную логику. Вы можете контролировать циклы с помощью выражений break и continue.

      Оператор Break

      В языке Go оператор break останавливает выполнение текущего цикла. Выражение break почти всегда сочетается с условным выражением if.

      Рассмотрим пример использования выражения break в цикле for:

      break.go

      package main
      
      import "fmt"
      
      func main() {
          for i := 0; i < 10; i++ {
              if i == 5 {
                  fmt.Println("Breaking out of loop")
                  break // break here
              }
              fmt.Println("The value of i is", i)
          }
          fmt.Println("Exiting program")
      }
      

      Эта небольшая программа создает цикл for, выполняющийся пока i меньше 10.

      В цикле for содержится выражение if. Выражение if проверяет условие i и сравнивает значение с 5. Если значение i не равно 5, цикл продолжается и распечатывает значение i. Если значение i равно 5, цикл выполняет выражение break, печатает сообщение о выходе из цикла Breaking out of loop и останавливает выполнение цикла. После окончания выполнения программы распечатывается сообщение Exiting program, показывающее, что мы выполнили выход из цикла.

      При выполнении этого кода результат будет выглядеть следующим образом:

      Output

      The value of i is 0 The value of i is 1 The value of i is 2 The value of i is 3 The value of i is 4 Breaking out of loop Exiting program

      Это показывает, что когда целое число i оценивается как равное 5, цикл прекращается, о чем программу информирует выражение break.

      Вложенные циклы

      Важно отметить, что выражение break останавливает выполнение только цикла самого низкого выполняемого уровня. Если вы используете набор из нескольких циклов, вложенных друг в друга, вам нужно будет использовать отдельный оператор break для каждого цикла.

      nested.go

      package main
      
      import "fmt"
      
      func main() {
          for outer := 0; outer < 5; outer++ {
              if outer == 3 {
                  fmt.Println("Breaking out of outer loop")
                  break // break here
              }
              fmt.Println("The value of outer is", outer)
              for inner := 0; inner < 5; inner++ {
                  if inner == 2 {
                      fmt.Println("Breaking out of inner loop")
                      break // break here
                  }
                  fmt.Println("The value of inner is", inner)
              }
          }
          fmt.Println("Exiting program")
      }
      

      Эта программа содержит два цикла. Хотя оба цикла выполняют 5 итераций, в каждом из них есть условное выражение if с выражением break. Внешний цикл прекращается, если значение outer равняется 3. Внутренний цикл прекращается, если значение inner равняется 2.

      Если мы запустим программу, результат будет выглядеть следующим образом:

      Output

      The value of outer is 0 The value of inner is 0 The value of inner is 1 Breaking out of inner loop The value of outer is 1 The value of inner is 0 The value of inner is 1 Breaking out of inner loop The value of outer is 2 The value of inner is 0 The value of inner is 1 Breaking out of inner loop Breaking out of outer loop Exiting program

      Обратите внимание, что при остановке внутреннего цикла внешний цикл не останавливается. Это связано с тем, что выражение break останавливает только цикл самого низкого уровня, где оно вызывается.

      Мы увидели, как выражение break останавливает выполнение цикла. Теперь посмотрим, как можно продолжить итерации цикла.

      Оператор Continue

      Выражение continue используется, когда вы хотите пропустить оставшуюся часть цикла, вернуться в начало цикла и продолжить новую итерацию этого цикла.

      Как и выражение break, выражение continue обычно используется вместе с условным выражением if.

      Мы используем ту же программу с циклом for, что и в предыдущем разделе «Выражение Break», но при этом используем выражение continue вместо выражения break:

      continue.go

      package main
      
      import "fmt"
      
      func main() {
          for i := 0; i < 10; i++ {
              if i == 5 {
                  fmt.Println("Continuing loop")
                  continue // break here
              }
              fmt.Println("The value of i is", i)
          }
          fmt.Println("Exiting program")
      }
      

      Отличие выражения continue от выражения break заключается в том, что код продолжит выполняться несмотря на прерывание, если переменная i будет оценена как равная 5. Посмотрим на результаты:

      Output

      The value of i is 0 The value of i is 1 The value of i is 2 The value of i is 3 The value of i is 4 Continuing loop The value of i is 6 The value of i is 7 The value of i is 8 The value of i is 9 Exiting program

      Здесь вы видим, что строка The value of i is 5 не появляется в результатах, но цикл продолжает выполнение после этой точки и распечатывает строки для чисел 6-10 перед остановкой цикла.

      Вы можете использовать выражение continue, чтобы избежать использования глубоко вложенного условного кода, или чтобы оптимизировать цикл, устранив часто встречающиеся случаи, которые вы хотите отклонять.

      Выражение continue заставляет программу пропустить определенную часть цикла, а затем продолжить выполнение оставшейся части цикла.

      Заключение

      Выражения break и continue в Go позволят вам более эффективно использовать циклы for в программном коде.



      Source link