Junior
Was sind Werttypen?
sobes.tech KI
Antwort von AI
Die Werttypen in Swift sind Typen, deren Instanzen beim Zuweisen oder Übergeben an eine Funktion kopiert werden. Jede unabhängige Kopie hat ihren eigenen Speicher.
Beispiele:
- 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 // Wertkopie
p2.x = 10 // Wir ändern die Kopie, p1 bleibt unverändert
print(p1.x) // Ausgabe: 1
print(p2.x) // Ausgabe: 10
Vorteile:
- Vorhersehbares Verhalten, da Änderungen in einem Teil des Codes andere Kopien nicht beeinflussen.
- Standardmäßig sichere Handhabung bei der Arbeit mit lokalen Werten.
Nachteile:
- Das Kopieren kann bei großen Strukturen teuer sein.
Vergleich mit Referenztypen:
| Merkmal | Werttyp | Referenztyp |
|---|---|---|
| Zuweisung | Kopieren des Wertes | Kopieren des Referenzlinks |
| Änderung | Ändert die Kopie | Ändert das Originalobjekt |
| Beispiel | struct, enum, tuple, Basistypen | class, closure |