定数
Rustには2種類の定数があり、いずれもグローバルスコープを含む任意のスコープで宣言することができます。また、いずれも型を明示しなくてはなりません。
const:不変の値(通常はこちらを使用します)static:'staticライフタイムを持つ変更可能な値。スタティックライフタイムは推論され、明示する必要はありません。可変なスタティック値へのアクセスや変更は安全ではありません。
// グローバル変数はあらゆるスコープの外で宣言します。
static LANGUAGE: &str = "Rust";
const THRESHOLD: i32 = 10;
fn is_big(n: i32) -> bool {
// 関数内から定数を参照。
n > THRESHOLD
}
fn main() {
let n = 16;
// main 関数の中から定数を参照。
println!("This is {}", LANGUAGE);
println!("The threshold is {}", THRESHOLD);
println!("{} is {}", n, if is_big(n) { "big" } else { "small" });
// エラー!const`は変更できません。
THRESHOLD = 5;
// FIXME ^ この行をコメントアウトしましょう
}