=vec..." /> Rustのletの使い方

ユーニックス総合研究所

  • home
  • archives
  • rust-let

Rustのletの使い方

  • 作成日: 2023-01-11
  • 更新日: 2023-12-24
  • カテゴリ: Rust

Rustのletの使い方

Rustの「let」は変数を定義するときに使います。
変数の定義は

    let n: i32 = 1;  

のように行います。
nが変数名でi32が型、= 11が定義時のデータです。

この記事ではRustのletの使い方を解説します。

Rustの色々な変数

Rustのletを使うと色々な変数を定義できます。
たとえば先ほども開設した整数(i32型)。

    let n: i32 = 1;  

文字列。

    let s1: &str = "Hello";  
    let s2: String = String::new();  

それから配列。

    let ary: [i32; 3] = [1, 2, 3];  

それからベクタ。

    let v: Vec<i32> = vec![1, 2, 3];  

そしてタプル。

    let tup: (i32, i32, i32) = (1, 2, 3);  

letはデフォルトではconstant(定数)な変数になります。
つまり変更ができません。

let mut

変更が出来る変数を定義したい場合はmutを付けます。
たとえば先ほどの整数の変数は

    let mut n: i32 = 1;  

    n += 1;  
    println!("{}", n);  // 2  

という感じでmutを付けると変更可能になります。

型の省略

値から型を推測できる場合は型を省略できます。

    let n = 1;  
    let s1 = "Hello";  
    let s2 = String::new();  
    let ary = [1, 2, 3];  
    let v = vec![1, 2, 3];  
    let tup = (1, 2, 3);  

if let

if letでifの条件式にletで変数を定義できます。
たとえば

    if let n = 1 {  
        println!("{}", n);  
    } else {  
        println!("false");  
    }  

という風にです。
スコープはifのブロックのスコープになります。

これは関数からの戻り値をチェックするときなどに便利です。
たとえば

    if let result = func() {  
        println!("{}", result);  
    }  

という風にです。
これは通常なら

    let result = func();  
    if result {  
        println!("{}", result);  
    }  

と書かなければいけない処理ですが、Rustではif letで短く書けます。

おわりに

今回はRustのletを取り上げました。
変数を作ってハッスルしましょう。

🦝 < 変数定義!

🐭 < mutで可変化!