Menu
Coddy logo textTech

Birden Fazla Dönüş Değeri

Coddy'nin Rust Journey'sinin Fundamentals bölümünün bir parçası — ders 52 / 75.

Rust'ta, bir fonksiyon dönüş türü olarak bir demet (tuple) kullanarak birden fazla değer döndürebilir. Bir demet (tuple), tek bir birim halinde paketlenmiş farklı değerler grubudur.

Örneğin:

fn get_coordinates() -> (i32, i32) {
    let x = 10;
    let y = 20;
    (x, y) // Bir demet döndür
}

Fonksiyonu şu şekilde çağırabilirsiniz:

let (x, y) = get_coordinates();
// Demeti ayrı değişkenlere
// ayrıştırın

println!("{}, {}", x, y);

Demet (tuple) yapısına daha fazla öğe ekleyerek ihtiyacınız olan sayıda değer döndürebilirsiniz. Örneğin:

fn get_details() -> (String, i32, f64) {
    let name = String::from("Alice");
    let age = 30;
    let score = 95.5;
    (name, age, score)
    // Üç değer içeren bir demet döndür
}

Ve fonksiyon şu şekilde çağrılır:

let (name, age, score) = get_details();
println!("{}, {}, {}", name, age, score);
challenge icon

Görev

Kolay

Bir kullanıcının adını, yaşını ve e-posta adresini içeren bir demet (tuple) döndüren get_user_info adında bir fonksiyon oluşturun. Fonksiyon şu imzaya sahip olmalıdır:

fn get_user_info() -> (String, i32, String)

Fonksiyonun içinde şu değişkenleri oluşturun:

  • name: "Bob" olarak başlatılmış bir String
  • age: 25 olarak başlatılmış bir i32
  • email: "bob@example.com" olarak başlatılmış bir String

Bu üç değeri bir demet (tuple) olarak döndürün.

main fonksiyonu içinde, get_user_info fonksiyonunu çağırın ve döndürülen demeti name, age ve email adındaki ayrı değişkenlere ayrıştırın (destructure). Ardından, bu değerleri println! kullanarak şu formatta konsola yazdırın:

Name: [name], Age: [age], Email: [email]

Kopya kağıdı

Fonksiyonlar, dönüş türü olarak demetleri (tuples) kullanarak birden fazla değer döndürebilir:

fn get_coordinates() -> (i32, i32) {
    let x = 10;
    let y = 20;
    (x, y) // Return a tuple
}

Fonksiyonu çağırın ve demeti ayrı değişkenlere ayrıştırın (destructure):

let (x, y) = get_coordinates();
println!("{}, {}", x, y);

Farklı türlerde birden fazla değer döndürebilirsiniz:

fn get_details() -> (String, i32, f64) {
    let name = String::from("Alice");
    let age = 30;
    let score = 95.5;
    (name, age, score)
}
let (name, age, score) = get_details();
println!("{}, {}, {}", name, age, score);

Kendin dene

fn get_user_info() -> (String, i32, String) {
    // Burada isim, yaş ve e-posta değişkenlerini oluşturun
    
    
    // Demeti (tuple) döndürün
    
}

fn main() {
    // get_user_info fonksiyonunu çağırın ve döndürülen demeti ayrıştırın
    
    
    // Değerleri yazdırın
    
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Fundamentals bölümündeki tüm dersler