Junior
Kas yra reikšmių tipai?
sobes.tech AI
Atsakymas iš AI
Swift kalbose reikšmių tipai yra tipai, kurių egzemplioriai kopijuojami priskyrimo ar perdavimo funkcijai metu. Kiekviena nepriklausoma kopija turi savo saugojimo vietą.
Pavyzdžiai:
- 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 // Vertės kopija
p2.x = 10 // Keičiamas kopijos, p1 nesikeičia
print(p1.x) // Išvestis: 1
print(p2.x) // Išvestis: 10
Privalumai:
- Prognozuojamas elgesys, nes pakeitimai vienoje kodo dalyje neįtakoja kitų kopijų.
- Standartinė saugumas dirbant su vietiniais reikšmėmis.
Trūkumai:
- Kopijavimas gali būti brangus didelėms struktūroms.
Palyginimas su nuorodų tipais:
| Savybė | Reikšmės tipas | Nuorodų tipas |
|---|---|---|
| Priskyrimas | Reikšmės kopijavimas | Nuorodos kopijavimas |
| Pakeitimas | Keičia kopiją | Keičia originalų objektą |
| Pavyzdys | struct, enum, tuple, pagrindiniai tipai | class, closure |