0Pricing
Swift Academy · Урок

Именованные инструкции

Обращайтесь к внешним циклам с помощью именованных меток.

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

Что такое метка

Метка инструкции задаёт имя цикла, чтобы можно было точно обратиться к нему с помощью break или continue.

outer: for i in 1...3 {
    print("row", i)
}

Синтаксис метки

Запишите имя метки, за которым следует двоеточие, непосредственно перед ключевым словом цикла.

search: for n in 1...5 {
    print(n)
    if n == 3 { break search }
}

Соглашение об именовании

Метки являются обычными идентификаторами. Выбирайте описательные имена, например outer, rowLoop или search.

rowLoop: for r in 1...2 {
    print("processing row", r)
}

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

break label выходит из цикла с указанной меткой, а не только из самого внутреннего цикла.

outer: for i in 1...3 {
    for j in 1...3 {
        if j == 2 { break outer }
        print(i, j)
    }
}

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

continue label переходит к следующей итерации цикла с указанной меткой.

outer: for i in 1...3 {
    for j in 1...3 {
        if j == 2 { continue outer }
        print(i, j)
    }
}

Метки у циклов while

Метка может быть у любого цикла, включая while.

var i = 0
mainLoop: while i < 5 {
    i += 1
    if i == 3 { break mainLoop }
    print(i)
}

Зачем нужны метки

Без меток break выходит только из самого внутреннего цикла. Метки позволяют напрямую управлять внешними циклами.

grid: for x in 0...2 {
    for y in 0...2 {
        if x + y == 3 { break grid }
        print(x, y)
    }
}

Несколько меток

Можно пометить несколько вложенных циклов и обращаться к каждому из них независимо.

rows: for r in 1...2 {
    cols: for c in 1...2 {
        if c == 2 { continue rows }
        print(r, c)
    }
}

Метки проясняют намерение

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

scan: for value in [3, 6, 9, 12] {
    if value > 8 { break scan }
    print(value)
}

Область действия метки

Метка видна только внутри своего цикла. Нельзя выполнить переход к метке, которая не охватывает текущую инструкцию.

first: for a in 1...2 {
    print("a", a)
    second: for b in 1...2 {
        if b == 2 { break first }
        print("b", b)
    }
}

Сочетание с условиями

Метки естественно сочетаются с условиями, позволяя реализовать поиск с остановкой по нескольким измерениям.

let matrix = [[1, 2], [3, 4]]
var target = -1
find: for row in matrix {
    for v in row {
        if v == 3 {
            target = v
            break find
        }
    }
}
print(target)

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

Проверьте инструкции с метками.

Итоги

Метка (name: перед циклом) позволяет направить break name и continue name к конкретному циклу, а не к самому внутреннему. Область действия метки ограничена её циклом, поэтому управление вложенными циклами становится явным.

outer: for i in 1...2 {
    for j in 1...2 {
        if j == 2 { continue outer }
        print(i, j)
    }
}

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

Урок «Именованные инструкции» бесплатный?

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

Чему я научусь в уроке «Именованные инструкции»?

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

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

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

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

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

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

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

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

  1. Основы break и continue
  2. Именованные инструкции
  3. Выход из вложенных циклов
  4. Управление циклами в контексте switch
← Назад к Swift Academy