Junior
O que são tipos de valores?
sobes.tech IA
Resposta da IA
Os tipos de valor em Swift são tipos cujas instâncias são copiadas ao serem atribuídas ou passadas para uma função. Cada cópia independente possui seu próprio armazenamento.
Exemplos:
- 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 // Cópia do valor
p2.x = 10 // Alteramos a cópia, p1 não muda
print(p1.x) // Saída: 1
print(p2.x) // Saída: 10
Vantagens:
- Comportamento previsível, pois alterações numa parte do código não afetam outras cópias.
- Segurança de fluxo por padrão ao trabalhar com valores locais.
Desvantagens:
- A cópia pode ser custosa para estruturas grandes.
Comparação com tipos de referência:
| Característica | Tipo de valor | Tipo de referência |
|---|---|---|
| Atribuição | Cópia do valor | Cópia do link |
| Alteração | Modifica a cópia | Modifica o objeto original |
| Exemplo | struct, enum, tuple, tipos básicos | class, closure |