Rustのletの使い方

622, 2023-01-12

目次

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を取り上げました。
変数を作ってハッスルしましょう。

(^ _ ^)

変数定義!

(・ v ・)

mutで可変化!



この記事のアンケートを送信する