Çoklu dönüş
- Go kursu
- Başlangıç
- Ders 31/90
- 4 dk
Go'nun çoklu dönüş özelliğini ve isimli dönüşleri öğrenirsin.
Çoklu dönüş
Go fonksiyonları birden çok değer döndürebilir. En yaygın kullanım (sonuç, error) çiftidir:
func bolKalan(a, b int) (int, int) {
return a / b, a % b
}
bolum, kalan := bolKalan(17, 5)
fmt.Println(bolum, kalan) // 3 2Bir değere ihtiyacın yoksa _ ile atlarsın: _, kalan := bolKalan(17, 5).
Adlandırılmış dönüş
Dönüş değerlerine ad verilebilir; bu adlar fonksiyon başında sıfır değeriyle tanımlanmış değişkenlerdir ve çıplak return onları döndürür:
func minMax(s []int) (min, max int) {
min, max = s[0], s[0]
for _, v := range s {
if v < min { min = v }
if v > max { max = v }
}
return
}Kısa fonksiyonlarda belgelemeye yardım eder; uzun fonksiyonlarda çıplak return okumayı zorlaştırır.
Uygulama En küçük ve en büyük
Adlandırılmış dönüşle minMax(s []int) (min, max int) fonksiyonunu yaz. minMax([]int{4, 9, 1, 7}) sonucunu yazdır.
Başlangıç kodu
package main
import "fmt"
func main() {
// buraya yaz
}Örnek çözüm
package main
import "fmt"
func minMax(s []int) (min, max int) {
min, max = s[0], s[0]
for _, v := range s {
if v < min {
min = v
}
if v > max {
max = v
}
}
return
}
func main() {
fmt.Println(minMax([]int{4, 9, 1, 7}))
}Beklenen çıktı
1 9
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Kullanılmayan bir dönüş değerini neden <code>_</code> ile atarsın?
- Daha hızlı çalışır
- Değer sıfırlanır
- Zorunlu değildir, fark etmez
- Go kullanılmayan yerel değişkene derleme hatası verir Doğru cevap
Açıklama: Tanımlanıp kullanılmayan değişken Go'da hatadır; boş tanımlayıcı _ değeri bilerek yok saydığını gösterir.
2 Değeri atla
____, kalan := bolKalan(17, 5)
_, kalan := bolKalan(17, 5)
Açıklama: Boş tanımlayıcı _ istenmeyen dönüş değerini atar.
3 Sözdizimi
| Kavram | Anlamı |
|---|---|
(int, int) |
İki dönüş türü |
(min, max int) |
Adlandırılmış dönüş |
return |
Çıplak dönüş |
_ |
Değeri yok say |