English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Golang

Управляющие команды в Golang

Функции (Function) и методы в Golang

Структуры (Struct) в Golang

Срезы (Slice) и массивы в Golang

Строки (String) в Golang

Указатели (Pointer) в Golang

Интерфейсы (Interface) в Golang

Конкурентоспособность (Concurrent) в Golang

Ошибки (Error) в Golang

Другие моменты Golang

Контрольные циклические операторы языка Go

Циклические управляющие команды в Go используются для изменения выполнения программы. При выходе из области действия цикла созданные в этой области объекты также уничтожаются. Язык Go поддерживает три типа циклических управляющих команд:

  1. Break

  2. Goto

  3. Continue

Команда break

Команда break используется для завершения текущего цикла или команды. После этого управление передается к следующей команде после команды break (если есть). Если команда break存在于 вложенном цикле, она завершает только те циклы, которые содержат команду break.

Схема процесса:

package main 
  
import "fmt"
  
func main() { 
   for i:=0; i<5; i++{ 
         
   fmt.Println(i) 
     
   //Цикл for прерывается при i = 3
   if i == 3{ 
         break; 
  } 
   } 
  
     
}

Вывод:

0
1
2
3

Команда goto

Эта команда используется для передачи управления к метке в программе. Метка - это有效的 идентификатор, который ставится перед командой передачи управления. Из-за сложности отслеживания управления в программе программисты обычно не используют команды goto.

Схема процесса:

package main 
  
import "fmt"
  
func main() { 
   var x int = 0 
     
   //Принцип работы цикла for аналогичен принципу работы цикла while
  Lable1: for x < 8 { 
      if x == 5 { 
           
         //Использование команды goto
         x = x + 1; 
         goto Lable1 
      } 
      fmt.Printf("Значение: %d\n", x); 
      x++;      
   }   
}

Вывод:

Значение: 0
Значение: 1
Значение: 2
Значение: 3
Значение: 4
Значение: 6
Значение: 7

Команда continue

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

Схема процесса:

package main
import "fmt"
func main() {
    var x int = 0
    //Принцип работы цикла for аналогичен принципу работы цикла while
    for x < 8 {
        if x == 5 {
            //Пропуск двух итераций
            x = x + 2
            continue
        }
        fmt.Printf("Значение: %d\n", x)
        x++
    }
}

Вывод:

Значение: 0
Значение: 1
Значение: 2
Значение: 3
Значение: 4
Значение: 7