0Pricing
Swift Academy · Ders

Birinci Sınıf Değerler Olarak İşlevler

İşlevleri değişkenlerde saklayın, bağımsız değişken olarak aktarın ve işlevlerden döndürün.

Birinci Sınıf Değerler Olarak İşlevler, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 4. 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'te işlevler birinci sınıf öğelerdir — bunları değişkenlerde saklayabilir, argüman olarak aktarabilir, başka işlevlerden döndürebilir ve başka işlevlerin içine yerleştirebilirsiniz.

İşlev Türleri

Her işlevin, parametre ve dönüş türleri tarafından belirlenen bir türü vardır: ```swift func add(_ a: Int, _ b: Int) -> Int { a + b } let operation: (Int, Int) -> Int = add print(operation(3, 4)) // 7 ``` `add` işlevinin türü `(Int, Int) -> Int` şeklindedir.

İşlevleri Argüman Olarak Aktarma

```swift func apply(_ f: (Int) -> Int, to value: Int) -> Int { f(value) } func double(_ n: Int) -> Int { n * 2 } print(apply(double, to: 5)) // 10 ``` Bu, `map` ve `filter` gibi üst düzey işlevlerin temelidir.

İşlev Döndürme

```swift func multiplier(by factor: Int) -> (Int) -> Int { return { value in value * factor } } let triple = multiplier(by: 3) print(triple(7)) // 21 ``` Bir işlev döndürmek, `factor` değişkenini yakalayan bir *kapatma* oluşturur.

İç İçe İşlevler

İşlevler başka işlevlerin içinde tanımlanabilir: ```swift func chooseStep(goForward: Bool) -> (Int) -> Int { func forward(_ n: Int) -> Int { n + 1 } func backward(_ n: Int) -> Int { n - 1 } return goForward ? forward : backward } let step = chooseStep(goForward: true) print(step(3)) // 4 ```

Kısa Yazım Olarak Kapatmalar

Anonim kapatma değişmezleri, her işlev türünün yerine kullanılabilir: ```swift let square: (Int) -> Int = { $0 * $0 } print(square(6)) // 36 let doubled = [1, 2, 3].map { $0 * 2 } // [2, 4, 6] ``` `$0`, kısa yazımlı kapatma biçimindeki ilk argümanı belirtir.

İşlevleri Koleksiyonlarda Saklama

```swift let operations: [(Int, Int) -> Int] = [ { $0 + $1 }, { $0 - $1 }, { $0 * $1 } ] for op in operations { print(op(10, 3)) } // 13, 7, 30 ```

Sondaki Kapatma Söz Dizimi

Son argüman bir işlev olduğunda onu parantezlerin dışında yazabilirsiniz: ```swift func withLogging(_ label: String, action: () -> Void) { print("Start: \(label)") action() print("End: \(label)") } withLogging("fetch") { fetchData() } ```

İşlev Kimliği ve Eşitliği

Swift'te iki işlev değerini `==` ile karşılaştıramazsınız — işlevler `Equatable` değildir: ```swift // let same = add == add ❌ ``` Karşılaştırmanız gerekiyorsa işlevi, `Equatable` protokolüne uyan bir `struct` veya `class` içine sarın.

Kürleme Örüntüsü

Kısmen uygulanmış işlevler döndürerek kürlemeyi benzetin: ```swift func add(_ a: Int) -> (Int) -> Int { { b in a + b } } let add5 = add(5) print(add5(3)) // 8 print(add5(10)) // 15 ``` Genel işlevlerden özelleştirilmiş işlevler oluşturmak için kullanışlıdır.

Hızlı Kontrol

İki `Int` alan ve bir `Int` döndüren bir işlevin türü nedir?

Özet

Temel çıkarımlar: • İşlevlerin `(ParamTypes) -> ReturnType` gibi türleri vardır • Değişkenlerde saklayın, argüman olarak aktarın ve işlevlerden döndürün • Kapatmalar (`{ }`) anonim işlev değerleridir • Sondaki kapatma söz dizimi çağrı noktalarını sadeleştirir • İşlevlerden işlev döndürmek, değişkenleri yakalayan kapatmalar oluşturur Sırada: isteğe bağlı zincirleme ve açma dersi.

Sıkça Sorulan Sorular

“Birinci Sınıf Değerler Olarak İşlevler” dersi ücretsiz mi?

Evet — “Birinci Sınıf Değerler Olarak İşlevler” 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.

“Birinci Sınıf Değerler Olarak İşlevler” dersinde ne öğreneceğim?

İşlevleri değişkenlerde saklayın, bağımsız değişken olarak aktarın ve işlevlerden 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 4. dersidir.

“Birinci Sınıf Değerler Olarak İşlevler” 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