Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI30 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Что такое where в Swift?
where в Swift — это ключевое слово, которое используется для добавления условий в различных контекстах кода. Оно позволяет фильтровать данные и контролировать выполнение кода. Рассмотрим основные применения.
1. Where в циклах
В циклах where добавляет условие, которое должно быть истинно, чтобы тело цикла выполнилось:
let numbers = [1, 2, 3, 4, 5, 6]
for num in numbers where num % 2 == 0 {
print(num) // Выведет: 2, 4, 6
}
2. Where в switch
В switch-выражениях where позволяет добавить дополнительное условие к case:
let point = (x: 2, y: 3)
switch point {
case (let x, let y) where x == y:
print("На диагонали")
case (let x, let y) where x > y:
print("x больше y")
default:
print("Другие случаи")
}
3. Where в generic constraints
where используется для ограничения типов в generics:
func printIfEqual<T: Equatable>(a: T, b: T) where T: Equatable {
if a == b {
print("Равны")
}
}
4. Where в фильтрации коллекций
В методах работы с коллекциями where позволяет фильтровать элементы:
let students = ["Иван", "Мария", "Пётр"]
let filtered = students.filter { $0.count > 4 }
Основные преимущества
- Читаемость кода — условие находится близко к циклу/выражению
- Избежание вложенности — не нужно писать if внутри цикла
- Безопасность типов — для generics условия проверяются на этапе компиляции
- Производительность — фильтрация происходит непосредственно в структуре, не требуя дополнительных проверок
where — это мощный инструмент в Swift для написания чистого и выразительного кода, который часто заменяет необходимость в дополнительных if-условиях и вложенности.