Sobes.tech
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