0Pricing
Swift Academy · Ders

In-Out Parametreleri ve Birden Çok Dönüş

inout ile bağımsız değişkenleri değiştirin ve demetler aracılığıyla birden çok değer döndürün.

In-Out Parametreleri ve Birden Çok Dönüş, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

Swift işlevleri normalde değerlerin kopyalarıyla çalışır. `inout` parametreleri, bir işlevin çağıranın değişkenini doğrudan değiştirmesini sağlar. Demetler, işlevlerin aynı anda birden çok değer döndürmesini sağlar.

inout Anahtar Sözcüğü

Bir özgün değeri değiştirmek için parametreyi `inout` olarak işaretleyin: ```swift func doubleInPlace(_ value: inout Int) { value *= 2 } var x = 5 doubleInPlace(&x) print(x) // 10 ``` Çağrı noktasındaki `&` öneki, değişkenin değiştirilebileceğini belirtir.

Struct'larla inout

```swift struct Point { var x: Double; var y: Double } func translate(_ p: inout Point, dx: Double, dy: Double) { p.x += dx p.y += dy } var origin = Point(x: 0, y: 0) translate(&origin, dx: 3.0, dy: 4.0) // origin is now (3.0, 4.0) ```

inout Kısıtlamaları

• Sabitler (`let`), `inout` olarak geçirilemez • Değişmez değerler, `inout` olarak geçirilemez • Alt indisler ve hesaplanan özellikler, ayarlayıcıları varsa `inout` olabilir ```swift let c = 5 doubleInPlace(&c) // ❌ cannot pass let as inout ```

Demetlerle Birden Çok Değer Döndürme

Değerleri bir demet içinde birleştirerek birden çok değer döndürün: ```swift func minMax(of array: [Int]) -> (min: Int, max: Int) { (array.min()!, array.max()!) } let result = minMax(of: [3, 1, 7, 2]) print(result.min, result.max) // 1 7 ```

Adlandırılmış ve Adlandırılmamış Demet Ögeleri

Adlandırılmış ögeler, demetlerin kendi kendini belgelemesini sağlar: ```swift let named: (width: Int, height: Int) = (1920, 1080) print(named.width) // 1920 let unnamed = (1920, 1080) print(unnamed.0) // 1920 ``` İşlevlerden döndürülen demetler için adları tercih edin.

Demet Dönüşlerini Ayrıştırma

Bir demet dönüşünü birden çok değişkene açın: ```swift let (minimum, maximum) = minMax(of: [5, 3, 8]) print(minimum) // 3 print(maximum) // 8 ``` İstenmeyen öğeleri atmak için `_` kullanın: `let (minimum, _) = minMax(of: arr)`.

İsteğe Bağlı Demet Dönüşleri

Başarısızlık durumlarında nil döndürün: ```swift func parse(_ s: String) -> (Int, Int)? { let parts = s.split(separator: ",") guard parts.count == 2, let a = Int(parts[0]), let b = Int(parts[1]) else { return nil } return (a, b) } ```

inout ile Değiş Tokuş

inout kullanarak klasik değiş tokuş: ```swift func swap(_ a: inout T, _ b: inout T) { let temp = a a = b b = temp } var m = 1, n = 2 swap(&m, &n) print(m, n) // 2 1 ``` Swift'in standart kitaplığı `swap(_:_:)` işlevini zaten sağlar — kendiniz yazmanıza gerek yoktur.

inout Ne Zaman, Dönüş Ne Zaman Kullanılır

inout parametresini değiştirmek yerine yeni bir değer döndürmeyi tercih edin: ```swift // Prefer: func normalised(_ v: SIMD3) -> SIMD3 { v / v.magnitude } // Use inout only when mutation is expected API contract, e.g. algorithms on large arrays func sort(_ arr: inout [Int]) { arr.sort() } ```

Hızlı Kontrol

Bir değişkeni `inout` parametresine aktarırken çağrı noktasında hangi ön ek gereklidir?

Özet

Temel çıkarımlar: • `inout`, işlevlerin çağıran taraftaki değişkenleri değiştirmesine olanak tanır; `&` ile aktarın • `let` sabitleri veya değişmezleri inout olarak aktaramazsınız • Demetler birden çok değeri düzenli biçimde döndürür; anlaşılır olması için öğeleri adlandırın • Demetleri ayrıştırın: `let (a, b) = f()` • Yeni değerler döndürmeyi tercih edin; inout'u yalnızca değiştirme, programlama arayüzünün sözleşmesi olduğunda kullanın Sırada: birinci sınıf değerler olarak işlevler.

Sıkça Sorulan Sorular

“In-Out Parametreleri ve Birden Çok Dönüş” dersi ücretsiz mi?

Evet — “In-Out Parametreleri ve Birden Çok Dönüş” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 4 dersten oluşur.

“In-Out Parametreleri ve Birden Çok Dönüş” dersinde ne öğreneceğim?

inout ile bağımsız değişkenleri değiştirin ve demetler aracılığıyla birden çok değer döndürün. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Swift Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“In-Out Parametreleri ve Birden Çok Dönüş” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Bağımsız Değişken Etiketleri ve Parametre Adları
  2. Varsayılan ve Değişken Sayıda Parametreler
  3. In-Out Parametreleri ve Birden Çok Dönüş
  4. Birinci Sınıf Değerler Olarak İşlevler
← Swift Academy Sayfasına Dön