Sobes.tech
Junior

Kas ir vērtību tipi?

sobes.tech AI

Atbilde no AI

Swift vērtību tipi ir tipi, kuru eksemplāri tiek kopēti pie piešķiršanas vai nodošanas funkcijai. Katrs neatkarīgais eksemplārs ir ar savu glabāšanas vietu.

Piemēri:

  • 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 // Vērtības kopija
p2.x = 10 // Mēs mainām kopiju, p1 nemainās

print(p1.x) // Izvade: 1
print(p2.x) // Izvade: 10

Priekšrocības:

  • Prognozējama uzvedība, jo izmaiņas vienā koda daļā neietekmē citas kopijas.
  • Standarta drošība, strādājot ar vietējām vērtībām.

Trūkumi:

  • Kopēšana var būt dārga lielām struktūrām.

Salīdzinājumā ar atsauces tipiem:

Īpašība Vērtību tips Atsauces tips
Piešķiršana Vērtības kopēšana Atsauces kopēšana
Izmaiņas Maina kopiju Maina oriģinālo objektu
Piemērs struct, enum, tuple, pamattipi class, closure