İsimlendirilmiş Dönüş Değerleri
Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası — ders 57 / 109.
Go'da, fonksiyon bildirimlerinde dönüş değerlerinizi isimlendirebilirsiniz. Bu, kodunuzu daha okunabilir hale getirir ve sadece yalın bir return ifadesi kullanarak geri dönmenizi sağlar.
İsimlendirilmiş dönüş değerlerine sahip bir fonksiyon oluşturun:
func divide(a, b int) (quotient int, remainder int) {
quotient = a / b
remainder = a % b
return // "çıplak" (naked) dönüş
}
func main() {
q, r := divide(7, 3)
fmt.Println("7 ÷ 3 =", q, "with remainder", r)
}Çıktı öncekiyle aynıdır:
7 ÷ 3 = 2 with remainder 1İsimlendirilmiş dönüş değerleri, sıfır değerlerine (zero values) başlatılır ve fonksiyon gövdesi içinde doğrudan atanabilir.
Görev
BaşlangıçBu meydan okumada, Go fonksiyonlarında isimlendirilmiş dönüş değerlerini kullanma pratiği yapacaksınız.
Bir kişinin adını, yaşını ve öğrenci olup olmadığını döndüren getPersonInfo fonksiyonunu tamamlayın. Fonksiyonun zaten isimlendirilmiş dönüş parametreleri var, ancak bunlara değerler atamanız gerekiyor.
Fonksiyon, 'Alex' adında, 25 yaşında ve bir öğrenci olan kişi için önceden tanımlanmış değerleri döndürmelidir.
Kopya kağıdı
Go'da, daha iyi okunabilirlik için fonksiyon bildirimlerinde dönüş değerlerinizi isimlendirebilirsiniz ve yalın bir return ifadesi kullanabilirsiniz:
func divide(a, b int) (quotient int, remainder int) {
quotient = a / b
remainder = a % b
return // "çıplak" (naked) return
}İsimlendirilmiş dönüş değerleri, sıfır değerlerine (zero values) başlatılır ve doğrudan fonksiyon gövdesi içinde atanabilir.
Kendin dene
package main
import "fmt"
// Bu fonksiyon isimlendirilmiş dönüş değerlerini kullanır
func getPersonInfo() (name string, age int, isStudent bool) {
// TODO: İsimlendirilmiş dönüş değişkenlerine değerleri atayın
// name "Alex" olmalı
// age 25 olmalı
// isStudent true olmalı
// Argümansız "return" ifadesi isimlendirilmiş dönüş değerlerini döndürecektir
return
}
func main() {
name, age, isStudent := getPersonInfo()
fmt.Printf("Name: %s\nAge: %d\nStudent: %t\n", name, age, isStudent)
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Karşılaştırma ve Mantıksal Operatörler
Karşılaştırma Operatörleri - Bölüm 1Karşılaştırma Operatörleri - Bölüm 2Mantıksal VE OperatörüMantıksal VEYA OperatörüMantıksal DEĞİL OperatörüOperatör Önceliği TemelleriÖzet - Karşılaştırma Yapma7Kontrol Akışı: Döngüler
`for` Döngüsü Nedir?`for` Döngüsü - Temel`for` Döngüsü - Sadece Koşul`break` Anahtar Kelimesi`continue` Anahtar Kelimesiİç İçe DöngülerÖzet - İşlemleri Tekrarlama2Değişkenler ve Temel Veri Tipleri
Değişken nedir?`:=` ile Tür ÇıkarımıTam Sayılar (int)Ondalıklı SayılarBooleanlarStringlerSıfır DeğerlerSabitlerİsimlendirme KurallarıÖzet - Değişkenler ve Türler5Temel Giriş/Çıkış
Biçimlendirilmiş ÇıktıBiçim BelirteçleriVeri Tiplerini YazdırmaTemel Kullanıcı Girdisi AlmaÖzet - Giriş ve Çıkış8Fonksiyonlar
Fonksiyonları AnlamakFonksiyon TanımlamaFonksiyonları ÇağırmaFonksiyon ParametreleriTek Bir Değer DöndürmeBirden Fazla Değer Döndürmeİsimlendirilmiş Dönüş DeğerleriFonksiyon Kapsamı TemelleriÖzet - Yeniden Kullanılabilir Kod Oluşturma3Temel Operatörler
Aritmetik OperatörlerBölme OperatörüModulo OperatörüAtama OperatörüBileşik Atama OperatörleriArtırma ve AzaltmaÖzet - Hesaplamalar6Kontrol Akışı: Koşullu İfadeler
`if` İfadesi`else` Anahtar Kelimesi`else if` Anahtar Kelimesi`if` İçinde Değişken GölgelemeDeğişkenleri Başlatma`switch` İfadesiİfadeli `switch`İfadesiz `switch``fallthrough` Anahtar KelimesiÖzet - Karar Verme