Ответ
Value Type (тип-значение) — это тип, который хранит непосредственно само значение данных, а не ссылку на область памяти. При присвоении или передаче в функцию создаётся новая, независимая копия этого значения.
Примеры в Swift: Int, Double, Bool, String, struct, enum, tuple.
var a = 10
var b = a // Создаётся полная копия значения 10
b = 20
print(a) // 10 (исходное значение не изменилось)
print(b) // 20
Ключевые характеристики:
- Хранение: Размещаются в стеке (быстрый аллокация/деаллокация).
- Семантика копирования: При присвоении (
=) или передаче в функцию создаётся новая копия. - Потокобезопасность: Каждый поток работает со своей копией данных.
- Наследование: Не поддерживают наследование.
Практическое правило: Используйте struct (value type) по умолчанию для моделирования данных, если нет явной необходимости в ссылочной семантике, которую предоставляет class.