Sobes.tech
Junior

Kopya ile transfer ne anlama geliyor?

sobes.tech yapay zeka

AI'dan gelen yanıt

Değer kopyası (pass by value) ile bir fonksiyona iletildiğinde, değişkenin değeri bir kopya olarak aktarılır, orijinal referans değil. Fonksiyon içindeki parametre üzerinde yapılan değişiklikler, fonksiyon dışında orijinal değişkeni etkilemez.

Swift'te yapılar ve enumlar varsayılan olarak kopya ile iletimi kullanır. Sınıflar için ise referans ile iletim (pass by reference) kullanılır, ancak bu durumda, nesne yerine referansın kendisi kopyalanır.

Swift'te örnek:

// Customer yapısı
struct Customer {
    var name: String
}

// Customer türünde parametreyi değiştiren fonksiyon
func changeCustomerName(customer: Customer) {
    var modifiedCustomer = customer // Yapının bir kopyası oluşturulur
    modifiedCustomer.name = "Jane"
    print("Fonksiyon içinde: \(modifiedCustomer.name)") // Çıktı: Fonksiyon içinde: Jane
}

var myCustomer = Customer(name: "John")
print("Fonksiyondan önce: \(myCustomer.name)") // Çıktı: Fonksiyondan önce: John

changeCustomerName(customer: myCustomer)

print("Fonksiyondan sonra: \(myCustomer.name)") // Çıktı: Fonksiyondan sonra: John - orijinal değer değişmedi

Ana nokta: fonksiyon, verilerin yerel bir kopyasıyla çalışır.