Junior
Šta su tipovi vrednosti?
sobes.tech АИ
Одговор од АИ
Tipovi vrednosti u Swift-u su tipovi čiji se primerci kopiraju prilikom dodele ili prosleđivanja funkciji. Svaki nezavisni primerak ima sopstveno skladište.
Primeri:
- 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 // Kopiranje vrednosti
p2.x = 10 // Menjamo kopiju, p1 se ne menja
print(p1.x) // Izlaz: 1
print(p2.x) // Izlaz: 10
Prednosti:
- Predvidivo ponašanje, jer promene u jednom delu koda ne utiču na druge kopije.
- Podrazumevana sigurnost pri radu sa lokalnim vrednostima.
Nedostaci:
- Kopiranje može biti skupo za velike strukture.
Upoređenje sa referentnim tipovima:
| Karakteristika | Tip vrednosti | Referentni tip |
|---|---|---|
| Dodeljivanje | Kopiranje vrednosti | Kopiranje reference |
| Izmena | Menja kopiju | Menja originalni objekat |
| Primer | struct, enum, tuple, osnovni tipovi | class, closure |