Sobes.tech
Junior

Co jsou typy hodnot?

sobes.tech AI

Odpověď od AI

Typy hodnot v Swiftu jsou typy, jejichž instance se při přiřazení nebo předání do funkce kopírují. Každá nezávislá kopie má své vlastní úložiště.

Pří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 // Kopie hodnoty
p2.x = 10 // Měníme kopii, p1 se nemění

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

Výhody:

  • Předvídatelné chování, protože změny v jedné části kódu neovlivní ostatní kopie.
  • Výchozí bezpečnost při práci s lokálními hodnotami.

Nevýhody:

  • Kopírování může být nákladné u velkých struktur.

Porovnání s referenčními typy:

Charakteristika Typ hodnoty Referenční typ
Přiřazení Kopírování hodnoty Kopírování odkazu
Změna Mění kopii Mění originální objekt
Příklad struct, enum, tuple, základní typy class, closure