Birden Fazla Değer Döndürme
Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası. Ders 56 / 109.
Go işlevleri aynı anda birden fazla değer döndürebilir; bu, hem sonuçları hem de hata bilgilerini döndürmek için son derece kullanışlıdır.
Hem bölüm hem de kalanı döndüren bir fonksiyon oluştur:
func divide(a, b int) (int, int) {
quotient := a / b
remainder := a % b
return quotient, remainder
}
func main() {
q, r := divide(7, 3)
fmt.Println("7 ÷ 3 =", q, "with remainder", r)
}Bu programı çalıştırdığında şu çıktıyı verir:
7 ÷ 3 = 2 with remainder 1Fonksiyon, virgüllerle ayrılmış iki değer döndürür ve atamada birden fazla değişken kullanarak her iki değeri de yakalarız.
Döndürülen değerlerin yalnızca bazılarına ihtiyacın varsa, ihtiyacın olmayanları yok saymak için boş tanımlayıcıyı _ kullanabilirsin:
q, _ := divide(7, 3) // kalanı yok say
fmt.Println("Quotient:", q)_ kullanmak, Go'ya bu dönüş değerini yok saymasını söyler. Go kullanılmayan değişkenlere izin vermediğinden, bir değeri kullanmadığında bunu yapman gerekir.
Görev
BaşlangıçBu meydan okumada, Go'da bir fonksiyondan birden fazla değer döndürme pratiği yapacaksın.
Bir kişinin adını, yaşını ve öğrenci olup olmadığını döndürmesi gereken getPersonInfo adlı bir fonksiyonumuz var. Görevin, uygun return ifadesini ekleyerek fonksiyonu tamamlamak.
Kendin dene
package main
import "fmt"
// Bu fonksiyon üç değer döndürmelidir: name, age ve isStudent
func getPersonInfo() (string, int, bool) {
// Değişkenler sizin için zaten tanımlanmış
name := "Alex"
age := 25
isStudent := true
// TODO: Üç değerin tamamını döndürün (name, age, isStudent)
}
func main() {
// Fonksiyonu çağırın ve döndürülen değerleri saklayın
name, age, isStudent := getPersonInfo()
// Değerleri yazdırın
fmt.Printf("Name: %s\n", name)
fmt.Printf("Age: %d\n", age)
fmt.Printf("Is Student: %t\n", 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 VermeKendi başına pratik yap: Online Go derleyicisi