Menu
Coddy logo textTech

여러 개의 반환값

Coddy Rust 여정의 Fundamentals 섹션에 포함된 레슨 — 75개 중 52번째.

Rust에서 함수는 튜플을 반환 타입으로 사용하여 여러 값을 반환할 수 있습니다. 튜플은 여러 다른 값들을 하나의 단위로 묶은 그룹입니다.

예를 들어:

fn get_coordinates() -> (i32, i32) {
    let x = 10;
    let y = 20;
    (x, y) // 튜플을 반환합니다
}

그리고 함수를 호출하는 방법은 다음과 같습니다:

let (x, y) = get_coordinates();
// 튜플을 구조 분해합니다
// 별개의 변수로

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

튜플에 더 많은 요소를 추가하여 필요한 만큼 많은 값을 반환할 수 있습니다. 예를 들어:

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);
challenge icon

챌린지

쉬움

사용자의 이름, 나이, 이메일 주소를 포함하는 튜플을 반환하는 get_user_info라는 이름의 함수를 만드세요. 함수의 시그니처는 다음과 같아야 합니다:

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

함수 내부에서 다음 변수들을 생성하세요:

  • name: "Bob"으로 초기화된 String
  • age: 25로 초기화된 i32
  • email: "bob@example.com"으로 초기화된 String

이 세 값을 튜플로 반환하세요.

main 함수에서 get_user_info를 호출하고 반환된 튜플을 name, age, email이라는 별도의 변수로 구조 분해(destructure)하세요. 그런 다음, println!을 사용하여 다음 형식으로 이 값들을 콘솔에 출력하세요:

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

치트 시트

함수는 튜플을 반환 타입으로 사용하여 여러 값을 반환할 수 있습니다:

fn get_coordinates() -> (i32, i32) {
    let x = 10;
    let y = 20;
    (x, y) // 튜플 반환
}

함수를 호출하고 튜플을 별개의 변수로 구조 분해합니다:

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

서로 다른 타입의 여러 값을 반환할 수도 있습니다:

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);

직접 해보기

fn get_user_info() -> (String, i32, String) {
    // 여기에 이름, 나이, 이메일 변수를 생성하세요
    
    
    // 튜플을 반환하세요
    
}

fn main() {
    // get_user_info를 호출하고 반환된 튜플을 구조 분해하세요
    
    
    // 값들을 출력하세요
    
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Fundamentals의 모든 레슨