問題一覧に戻る
初級関数
問題22: 文と式
Rustでは文と式の区別が重要です。文はセミコロンで終わり、値を返しません。式は値を評価し、セミコロンを付けません。関数の最後の式は自動的に戻り値になります。return文を使えば早期リターンも可能です。この仕組みにより、Rustでは多くのものが式として扱われ、柔軟なコードが書けます。
fn calculate(x: i32) -> i32 {
// 文(セミコロンあり)
let y = x * 2
// 式(セミコロンなし)
y + 10
}
fn get_value(flag: bool) -> i32 {
if flag {
// 早期リターン
return 42
}
// 最後の式が戻り値
100
}
fn main() {
println!("calculate(5) = {}", calculate(5));
println!("get_value(true) = {}", get_value(true));
}