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 |