매개변수와 인자
Coddy Rust 여정의 Fundamentals 섹션에 포함된 레슨 — 75개 중 50번째.
함수의 인자(argument)는 함수를 호출할 때 함수로 전달하는 값입니다. 함수에 인자를 추가하려면 괄호 () 안에 작성합니다.
fn function_name(arg1: data_type, arg2: data_type, ...) {
// 코드
}우리는 인자의 이름을 원하는 대로 지을 수 있으며, 필요한 만큼 많은 인자를 작성할 수 있습니다.
함수를 호출하고 인수를 전달하려면 다음과 같이 작성합니다:
function_name(value1, value2, value3, ...);더 적은 인수를 기대하는 함수에 너무 많은 인수를 전달하면 프로그램이 실패하게 됩니다.
사용 예시:
fn is_even(number: i32) {
if number % 2 == 0 {
println!("{} is even", number);
} else {
println!("{} is odd", number);
}
}
for i in 15..34 {
is_even(i);
}
for i in 153..219 {
is_even(i);
}여기에 is_even이라는 이름의 함수가 있습니다. 이 함수는 number라는 이름의 인자 하나를 받아 그 숫자가 짝수인지 홀수인지 출력합니다. 그런 다음 함수를 두 번 호출합니다. 한 번은 15에서 34 사이의 모든 숫자에 대해, 두 번째는 153에서 219 사이의 모든 숫자에 대해 호출합니다.
챌린지
쉬움두 개의 숫자를 입력받는 프로그램을 작성하세요. 입력받은 숫자들은 함수의 인자입니다.
두 개의 인자를 받아 그 곱을 계산하고 출력하는 함수를 만드세요. 함수의 이름은 원하는 대로 지으세요.
입력받은 숫자들을 사용하여 함수를 호출하세요.
주의! 코드에서 함수를 호출/실행 문장보다 먼저 작성하세요.
치트 시트
함수에 인수를 추가하려면, 괄호 안에 데이터 타입과 함께 작성하세요:
fn function_name(arg1: data_type, arg2: data_type) {
// code
}값을 인수로 전달하여 함수를 호출합니다:
function_name(value1, value2);하나의 인수를 사용하는 예시:
fn is_even(number: i32) {
if number % 2 == 0 {
println!("{} is even", number);
} else {
println!("{} is odd", number);
}
}
is_even(42);함수에 너무 많은 인수를 전달하면 프로그램이 실패하게 됩니다
직접 해보기
use std::io;
// 함수 선언
fn main() {
let mut input_a = String::new();
let mut input_b = String::new();
io::stdin().read_line(&mut input_a).unwrap();
io::stdin().read_line(&mut input_b).unwrap();
let a: i32 = input_a.trim().parse().unwrap();
let b: i32 = input_b.trim().parse().unwrap();
// a와 b를 인자로 하여 함수 호출
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.