여러 개의 반환값
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);챌린지
쉬움사용자의 이름, 나이, 이메일 주소를 포함하는 튜플을 반환하는 get_user_info라는 이름의 함수를 만드세요. 함수의 시그니처는 다음과 같아야 합니다:
fn get_user_info() -> (String, i32, String)함수 내부에서 다음 변수들을 생성하세요:
name: "Bob"으로 초기화된Stringage: 25로 초기화된i32email: "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를 호출하고 반환된 튜플을 구조 분해하세요
// 값들을 출력하세요
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.