Junior
Mi a értéktípusok?
sobes.tech MI
Válasz az MI-től
Swiftben a értéktípusok olyan típusok, amelyek példányai másolódnak az érték hozzárendelésekor vagy függvénybe való átadáskor. Minden független másolatnak saját tárolóhelye van.
Példák:
- 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 // Érték másolása
p2.x = 10 // Megváltoztatjuk a másolatot, p1 nem változik
print(p1.x) // Kimenet: 1
print(p2.x) // Kimenet: 10
Előnyök:
- Előre látható viselkedés, mivel a kód egy részében történt változások nem befolyásolják a többi másolatot.
- Alapértelmezett biztonság helyi értékekkel való munkavégzéskor.
Hátrányok:
- A másolás költséges lehet nagy struktúrák esetén.
Referencia típusokkal való összehasonlítás:
| Jellemző | Értéktípus | Referencia típus |
|---|---|---|
| Hozzárendelés | Az érték másolása | A hivatkozás másolása |
| Módosítás | A másolat módosítása | Az eredeti objektum módosítása |
| Példa | struct, enum, tuple, alap típusok | class, closure |