Rustのletの使い方
622, 2023-01-12
目次
Rustのletの使い方
Rustの「let」は変数を定義するときに使います。
変数の定義は
let n: i32 = 1;
のように行います。
n
が変数名でi32
が型、= 1
の1
が定義時のデータです。
この記事では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で可変化! |