Junior
Какви са типовете стойности?
sobes.tech AI
Отговор от AI
Типовете стойности в Swift са типове, чиито екземпляри се копират при присвояване или предаване към функция. Всяка независима копия има собствено хранилище.
Примери:
- Structs
- Enums
- Tuples
- Integer, Float, Double, Bool, String, Array, Dictionary, Set
struct Point {
var x: Int
var y: Int
}
var p1 = Point(x: 1, y: 2)
var p2 = p1 // Копие на стойността
p2.x = 10 // Променяме копието, p1 не се променя
print(p1.x) // Изход: 1
print(p2.x) // Изход: 10
Предимства:
- Предсказуемо поведение, тъй като промените в една част на кода не влияят на други копия.
- Стандартна безопасност при работа с локални стойности.
Недостатъци:
- Копирането може да е скъпо за големи структури.
Сравнение с референтните типове:
| Характеристика | Тип стойност | Референтен тип |
|---|---|---|
| Присвояване | Копиране на стойността | Копиране на препратката |
| Промяна | Модифицира копието | Модифицира оригиналния обект |
| Пример | struct, enum, tuple, основни типове | class, closure |