Rust는 함수를 어디에서 정의하는지는 신경 쓰지 않으며, 단지 호출자가 볼 수 있는 scope 내에서 정의되어 있기만 하면 됩니다.
함수 선언에서는 각 매개변수의 타입을 선언해야 합니다.
fn main() {
print_labeled_measurement(5, 'h');
}
fn print_labeled_measurement(value: i32, unit_label: char) {
println!("The measurement is: {value}{unit_label}");
}
Rust의 함수나 블록은 마지막 표현식의 값을 자동으로 반환합니다.
구문은 어떤 동작을 수행하고 값을 반환하지 않는 지시문입니다.
let y = 8;
표현식은 결과 값을 산출합니다. 표현식에는 끝에 세미콜론이 포함되지 않습니다. 표현식 끝에 세미콜론을 추가하면 그것을 구문으로 전환하고, 그 결과 값을 반환하지 않게 됩니다.
{
let x = 3;
x + 1
}
fn main() {
let x = plus_one(5);
println!("The value of x is: {x}");
}
fn plus_one(x: i32) -> i32 {
x + 1
}