CodeBlanks Logo Icon CodeBlanks

Parametreler ve dönüş

Parametre alıp değer döndüren fonksiyonlar yazmayı öğrenirsin.

Parametreler ve dönüş

Parametreler her zaman kopyalanarak geçer (değerle geçirme): fonksiyon içinde parametreyi değiştirmek çağırandaki değişkeni etkilemez.

func artir(n int) {
    n++
}

x := 5
artir(x)
fmt.Println(x)  // 5, değişmedi

Değişikliğin çağırana yansıması için ya yeni değeri döndürürsün ya da işaretçi geçirirsin (ileride göreceksin).

İmza

Fonksiyonun parametre ve dönüş türleri onun imzasıdır. Aynı türden ardışık parametreler kısaltılır: func alan(en, boy float64) float64. Kullanılmayan bir parametre için ad yerine _ yazılabilir. Go'da varsayılan parametre değeri yoktur; her argüman açıkça verilir.

Uygulama Dikdörtgen alanı

alan(en, boy float64) float64 fonksiyonunu yaz ve alan(3, 4.5) sonucunu yazdır.

Başlangıç kodu

main.go
package main

import "fmt"

func main() {
    // buraya yaz
}

Örnek çözüm

main.go
package main

import "fmt"

func alan(en, boy float64) float64 {
    return en * boy
}

func main() {
    fmt.Println(alan(3, 4.5))
}

Beklenen çıktı

13.5

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Aşağıdaki çağrıdan sonra <code>x</code> kaçtır? <code>x := 5; x = ikiKat(x)</code> (ikiKat n*2 döndürür)

  • 10 Doğru cevap
  • 5
  • 0
  • 25

Açıklama: Fonksiyon kopya üzerinde çalışır ama sonucu döndürür; dönen değer x'e atanınca x 10 olur.

2 Kısaltılmış parametreler

Soru
func alan(en, boy ____) float64 {
    return en * boy
}
Cevap
func alan(en, boy float64) float64 {
    return en * boy
}

Açıklama: Aynı türdeki ardışık parametrelerde tür yalnızca sonda bir kez yazılır.

3 Kavram

Kavram Anlamı
Değerle geçirme Kopya alınır
İmza Parametre + dönüş türleri
_ parametresi Kullanılmayan değer
Varsayılan değer Go'da yok

Başlangıç bölümündeki tüm dersler