Ответ
Да, Swift — это язык со статической и строгой типизацией. Это означает:
- Проверка типов на этапе компиляции. Компилятор проверяет соответствие типов до запуска программы, что предотвращает множество ошибок времени выполнения.
- Нет неявных преобразований. Swift не выполняет автоматических преобразований между несовместимыми типами (например,
IntвStringилиIntвDouble).
Пример строгой типизации:
let number: Int = 42
let doubleNumber: Double = 3.14
// Ошибка компиляции: бинарный оператор '+' нельзя применить к операндам типов 'Int' и 'Double'
// let sum = number + doubleNumber
// Правильно: требуется явное приведение типа
let correctSum = Double(number) + doubleNumber // 45.14
Особенности системы типов Swift:
- Вывод типов (Type Inference): Компилятор может сам определить тип переменной или константы на основе присваиваемого значения.
let message = "Hello" // Тип `message` выводится как `String` - Безопасность: Строгая типизация — одна из основополагающих черт безопасности Swift, делающая код более предсказуемым и надежным.