Junior
Cosa sono i tipi di valori?
sobes.tech AI
Risposta dell'AI
I tipi di valore in Swift sono tipi le cui istanze vengono copiate durante l'assegnazione o il passaggio a una funzione. Ogni copia indipendente ha il proprio spazio di memoria.
Esempi:
- 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 // Copia del valore
p2.x = 10 // Modifichiamo la copia, p1 non cambia
print(p1.x) // Output: 1
print(p2.x) // Output: 10
Vantaggi:
- Comportamento prevedibile, poiché le modifiche in una parte del codice non influenzano le altre copie.
- Sicurezza del flusso di default quando si lavora con valori locali.
Svantaggi:
- La copia può essere costosa per strutture di grandi dimensioni.
Confronto con i tipi di riferimento:
| Caratteristica | Tipo di valore | Tipo di riferimento |
|---|---|---|
| Assegnazione | Copia del valore | Copia del riferimento |
| Modifica | Modifica la copia | Modifica l'oggetto originale |
| Esempio | struct, enum, tuple, tipi di base | class, closure |