Junior
Τι είναι οι τύποι τιμών;
sobes.tech AI
Απάντηση από AI
Οι τύποι τιμών στο Swift είναι τύποι των οποίων τα αντίγραφα αντιγράφονται κατά την ανάθεση ή τη μεταβίβαση σε μια συνάρτηση. Κάθε ανεξάρτητο αντίγραφο έχει τη δική του αποθήκευση.
Παραδείγματα:
- 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 // Αντίγραφο της τιμής
p2.x = 10 // Αλλάζουμε το αντίγραφο, το p1 δεν αλλάζει
print(p1.x) // Έξοδος: 1
print(p2.x) // Έξοδος: 10
Πλεονεκτήματα:
- Προβλέψιμη συμπεριφορά, καθώς οι αλλαγές σε ένα μέρος του κώδικα δεν επηρεάζουν άλλα αντίγραφα.
- Προεπιλεγμένη ασφάλεια κατά την εργασία με τοπικές τιμές.
Μειονεκτήματα:
- Η αντιγραφή μπορεί να είναι δαπανηρή για μεγάλες δομές.
Σύγκριση με τύπους αναφοράς:
| Χαρακτηριστικό | Τύπος τιμής | Τύπος αναφοράς |
|---|---|---|
| Ανάθεση | Αντιγραφή της τιμής | Αντιγραφή της αναφοράς |
| Αλλαγή | Αλλάζει το αντίγραφο | Αλλάζει το αρχικό αντικείμενο |
| Παράδειγμα | struct, enum, tuple, βασικοί τύποι | class, closure |