Parametreler ve dönüş
- Go kursu
- Başlangıç
- Ders 30/90
- 4 dk
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şmediDeğ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
package main
import "fmt"
func main() {
// buraya yaz
}Örnek çözüm
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
func alan(en, boy ____) float64 {
return en * boy
}
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 |