Оператор continue

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

Синтаксис

gocontinue

Оператор continue не принимает аргументов и записывается как отдельная инструкция. После его выполнения управление переходит к проверке условия цикла для следующей итерации.

Пример

Давайте выведем числа от 1 до 5, пропуская четные числа:

gopackage main

import "fmt"

func main() {
  for i := 1; i <= 5; i++ {
    if i%2 == 0 {
      continue
    }
    fmt.Println(i)
  }
}

Результат выполнения кода:

go1
3
5

В этом примере при i равном 2 и 4 срабатывает условие continue, и вывод числа пропускается, переходя к следующей итерации.

Пример

Пропустим итерации в цикле по слайсу строк, если элемент содержит подстроку "bc":

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  items := []string{"abc", "bcd", "cde", "def"}
  for _, item := range items {
    if strings.Contains(item, "bc") {
      continue
    }
    fmt.Println(item)
  }
}

Результат выполнения кода:

gocde
def

Здесь элементы "abc" и "bcd" содержат подстроку "bc", поэтому для них срабатывает continue, и они не выводятся.

Пример

Использование continue во вложенных циклах. В этом случае пропускается итерация только внутреннего цикла:

gopackage main

import "fmt"

func main() {
  for i := 1; i <= 3; i++ {
    for j := 1; j <= 3; j++ {
      if i == j {
        continue
      }
      fmt.Printf("(%d, %d) ", i, j)
    }
    fmt.Println()
  }
}

Результат выполнения кода:

go(1, 2) (1, 3)
(2, 1) (2, 3)
(3, 1) (3, 2)

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

Смотрите также

  • оператор for,
    который организует циклы в Go
  • оператор break,
    который полностью прерывает выполнение цикла
  • оператор range,
    который используется для перебора элементов коллекций
  • оператор switch,
    который позволяет организовать множественное ветвление