Sobes.tech
Junior

Čo sú typy hodnôt?

sobes.tech AI

Odpoveď od AI

Typy hodnôt v Swift sú typy, ktorých exempláre sa kopírujú pri priraďovaní alebo odovzdaní do funkcie. Každá nezávislá kópia má vlastné uloženie.

Príklady:

  • 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 // Kopírovanie hodnoty
p2.x = 10 // Meníme kópiu, p1 sa nemení

print(p1.x) // Výstup: 1
print(p2.x) // Výstup: 10

Výhody:

  • Predvídateľné správanie, pretože zmeny v jednej časti kódu neovplyvňujú iné kópie.
  • Predvolená bezpečnosť pri práci s lokálnymi hodnotami.

Nevýhody:

  • Kopírovanie môže byť nákladné pre veľké štruktúry.

Porovnanie s referenčnými typmi:

Charakteristika Typ hodnoty Referenčný typ
Priraďovanie Kopírovanie hodnoty Kopírovanie odkazu
Zmena Mení kópiu Mení pôvodný objekt
Príklad struct, enum, tuple, základné typy class, closure