Junior
Ce sunt tipurile de valori?
sobes.tech AI
Răspuns de la AI
Tipurile de valori în Swift sunt tipuri ale căror exemplare sunt copiate la atribuire sau la transmiterea către o funcție. Fiecare copie independentă are propriul său stocare.
Exemple:
- 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 // Copierea valorii
p2.x = 10 // Modificăm copia, p1 nu se schimbă
print(p1.x) // Output: 1
print(p2.x) // Output: 10
Avantaje:
- Comportament previzibil, deoarece modificările într-o parte a codului nu afectează alte copii.
- Siguranță implicită în manipularea valorilor locale.
Dezavantaje:
- Copierea poate fi costisitoare pentru structuri mari.
Comparativ cu tipurile de referință:
| Caracteristici | Tip de valoare | Tip de referință |
|---|---|---|
| Atribuire | Copierea valorii | Copierea referinței |
| Modificare | Modifică copia | Modifică obiectul original |
| Exemplu | struct, enum, tuple, tipuri de bază | class, closure |