> Что такое примитивы в Swift и какие они бывают (iOS, Swift)
Уровень: junior · Роль: mobile · Категория: Технические вопросы
Компании: Яндекс
Стек: iOS, Swift
> Пример ответа
В Swift примитивы - это базовые типы данных, которые являются частью языка и не требуют подключения дополнительных библиотек. Они представляют собой простые значения, хранящиеся непосредственно в памяти (обычно на стеке), в отличие от ссылочных типов, которые хранятся в куче. В Swift все примитивы реализованы как структуры (value types), что обеспечивает их эффективность и предсказуемое поведение при копировании.
Основные примитивы в Swift:
-
Целочисленные типы:
Int(знаковый, размер зависит от платформы),Int8,Int16,Int32,Int64, а также беззнаковыеUInt,UInt8,UInt16,UInt32,UInt64. -
Типы с плавающей точкой:
Float(32-битный),Double(64-битный). -
Булев тип:
Bool(trueилиfalse). -
Символьный тип:
Character(одиночный символ Unicode). -
Строковый тип:
String(коллекция символов, хотя технически это структура, но часто рассматривается как примитив из-за частого использования). -
Кортежи:
(Int, String)- хотя это составной тип, он также является value type и может считаться примитивом в контексте простых группировок.
Пример использования:
SWIFTlet age: Int = 25let pi: Double = 3.14159let isActive: Bool = truelet grade: Character = "A"let name: String = "Alice"let pair: (Int, String) = (1, "one")
Важно отметить, что в Swift нет примитивов в классическом понимании (как в C или Java), где они не являются объектами. Здесь все примитивы - это полноценные структуры с методами и свойствами (например, Int имеет методы isMultiple(of:)). Это делает их гибкими и мощными, сохраняя при этом производительность value types.
> Похожие задачи по mobile
Как работает механизм управления памятью ARC в Swift
Когда вызывается метод viewDidAppear
Почему многие против синглтона
Какие есть приоритеты QoS в GCD и зачем они нужны
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью