Sobes.tech
Junior

Mis on väärtusetüübid?

sobes.tech AI

Vastus AI-lt

Swiftis on väärtustüübid, mille eksemplarid kopeeritakse omistamisel või funktsioonile edastamisel. Iga sõltumatu koopia omab oma salvestusruumi.

Näited:

  • 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 // Väärtuse koopia
p2.x = 10 // Muudame koopiat, p1 ei muutu

print(p1.x) // Väljund: 1
print(p2.x) // Väljund: 10

Eelised:

  • Ennustatav käitumine, kuna muudatused ühes koodiosas ei mõjuta teisi koopiaid.
  • Vaikimisi turvalisus kohalike väärtuste töötlemisel.

Miinused:

  • Kopeerimine võib olla kulukas suurte struktuuride puhul.

Võrreldes viidetüüpidega:

Omadus Väärtustüüp Viidetüüp
Määramine Väärtuse kopeerimine Viite kopeerimine
Muutmine Muudab koopiat Muudab algset objekti
Näide struct, enum, tuple, põhitüübid class, closure