Go Academy · Урок

Цикл for: все варианты

Классические циклы, циклы в стиле while, бесконечные циклы и циклы range

Урок 2 из 412 шагов

«Цикл for: все варианты» — бесплатный урок Go Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Go Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Go Academy содержит 4 уроков всего.

В Go есть только один цикл

В Go есть только цикл for — нет while и do-while. Ключевое слово for охватывает все варианты итерации благодаря разным формам записи.

Классический цикл for в стиле C

Традиционный цикл с тремя частями:

for i := 0; i < 5; i++ {
    fmt.Println(i)
}

Цикл в стиле while

Опустите части инициализации и завершения, чтобы получить цикл в стиле while:

n := 1
for n < 100 {
    n *= 2
}

Бесконечный цикл

Опустите все части для создания бесконечного цикла. Для выхода необходимо использовать break или return:

for {
    msg := receive()
    if msg == "quit" {
        break
    }
    process(msg)
}

range по срезу

range перебирает срез, возвращая индекс и значение:

fruits := []string{"apple", "banana", "cherry"}
for i, fruit := range fruits {
    fmt.Printf("%d: %s\n", i, fruit)
}

range по карте

range по карте возвращает пары «ключ — значение» в случайном порядке:

scores := map[string]int{"Alice": 90, "Bob": 85}
for name, score := range scores {
    fmt.Printf("%s: %d\n", name, score)
}

range по строке

При переборе строки вы получаете значения рун, то есть кодовые точки Unicode, а не байты:

for i, r := range "Go!" {
    fmt.Printf("index %d: %c\n", i, r)
}

range по каналу

Перебор канала считывает значения, пока канал не будет закрыт:

ch := make(chan int, 3)
ch <- 1; ch <- 2; ch <- 3
close(ch)
for v := range ch {
    fmt.Println(v)
}

break и continue

break выходит из самого внутреннего цикла, а continue переходит к следующей итерации:

for i := 0; i < 10; i++ {
    if i%2 == 0 {
        continue // skip even numbers
    }
    if i > 7 {
        break    // stop at 7
    }
    fmt.Println(i)
}

Именованный break

Метки позволяют выйти из внешнего цикла изнутри внутреннего цикла:

outer:
for i := 0; i < 3; i++ {
    for j := 0; j < 3; j++ {
        if i+j == 3 {
            break outer
        }
    }
}

Быстрая проверка

Как записать бесконечный цикл в Go?

Итоги: цикл for

Цикл for в Go охватывает все варианты итерации:

  • Классический: for i := 0; i < n; i++
  • В стиле while: for condition
  • Бесконечный: for {}
  • С range: для срезов, карт, строк и каналов
  • break/continue с необязательными метками для вложенных циклов

Далее: инструкции switch в Go.

Можно начать бесплатно

Изучай Go с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
51
Уроки
203

Часто задаваемые вопросы

Урок «Цикл for: все варианты» бесплатный?

Да — полный текст урока «Цикл for: все варианты» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Go Academy, подпишись на CoddyKit PRO. Курс Go Academy содержит 4 уроков всего.

Чему я научусь в уроке «Цикл for: все варианты»?

Классические циклы, циклы в стиле while, бесконечные циклы и циклы range Ты практикуешь Go Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Go Academy?

Предыдущий опыт не требуется. Go Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Цикл for: все варианты»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Go Academy?

Да. Каждый урок Go Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Операторы if и выражения инициализации
  2. Цикл for: все варианты
  3. Операторы switch в Go
  4. break, continue и метки
← Назад к Go Academy