Цикл for: все варианты
Классические циклы, циклы в стиле while, бесконечные циклы и циклы range
«Цикл 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 — локальная установка не требуется.
Все уроки этого курса
- Операторы if и выражения инициализации
- Цикл for: все варианты
- Операторы switch в Go
- break, continue и метки