Junior
O que significa transferência por cópia?
sobes.tech IA
Resposta da IA
Ao passar por cópia (pass by value) para uma função, é passada uma cópia do valor da variável, não uma referência ao original. As alterações feitas no parâmetro dentro da função não afetam a variável original fora dela.
Para estruturas e enumerações em Swift, a passagem por cópia é usada por padrão. Para classes, a passagem por referência (pass by reference) é usada, mas neste caso, uma cópia da própria referência é passada, não do objeto.
Exemplo em Swift:
// Estrutura Customer
struct Customer {
var name: String
}
// Função que altera o parâmetro do tipo Customer
func changeCustomerName(customer: Customer) {
var modifiedCustomer = customer // Uma cópia da estrutura é criada
modifiedCustomer.name = "Jane"
print("Dentro da função: \(modifiedCustomer.name)") // Saída: Dentro da função: Jane
}
var myCustomer = Customer(name: "John")
print("Antes da função: \(myCustomer.name)") // Saída: Antes da função: John
changeCustomerName(customer: myCustomer)
print("Depois da função: \(myCustomer.name)") // Saída: Depois da função: John - o valor original não mudou
Ponto chave: a função trabalha com uma cópia local dos dados.