Какие основные типы данных существуют в Swift?

«Какие основные типы данных существуют в Swift?» — вопрос из категории Swift Core, который задают на 30% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Типы данных в Swift делятся на простые (скалярные), коллекции и специальные.

1. Простые типы (Value Types):

  • Целые числа: Int, Int8, Int16, Int32, Int64, UInt (беззнаковый).
  • Числа с плавающей точкой: Float (32-bit), Double (64-bit, предпочтительный).
  • Логический тип: Bool (true/false).
  • Строки и символы: String, Character.

2. Типы-коллекции (Value Types):

  • Массив (Array<Element>): Упорядоченная коллекция. [Int]
  • Множество (Set<Element>): Неупорядоченная коллекция уникальных элементов. Set<String>
  • Словарь (Dictionary<Key, Value>): Коллекция пар ключ-значение. [String: Int]

3. Специальные типы:

  • Кортеж (Tuple): Группировка нескольких значений в один составной тип.
    let httpStatus: (Int, String) = (404, "Not Found")
    let namedStatus = (code: 200, message: "OK")
  • Опциональный тип (Optional<Wrapped>): Обёртка для значения, которое может отсутствовать (nil). Int? — ключевая особенность Swift для безопасности.
    var optionalNumber: Int? = 5
    optionalNumber = nil // Допустимо
  • Типы-значения (struct, enum) и типы-ссылки (class, closure, actor) — определяются пользователем.

Примеры объявления:

let age: Int = 30          // Целое число
let temperature: Double = 36.6 // Число с плавающей точкой
let name: String = "Alice" // Строка
let isAvailable: Bool = true // Булево значение
let scores: [Int] = [95, 90, 85] // Массив
let uniqueIDs: Set<String> = ["A1", "B2"] // Множество
let userInfo: [String: Any] = ["name": "Bob", "age": 25] // Словарь