4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Rust】(Option型)Someの中身の取り出し方

Last updated at Posted at 2021-11-17

Rustの学習を行っていて、まだまだ参考になる資料が見つからない場合が多くあります。
もし、どなたかの参考になればと思い、メモをしておこうと思います。

※まだ、他にもたくさん方法はあると思いますので、随時追加していきたいと思います。
※記述時rustバージョン=1.56.1

matchを利用する方法①

以下のようにすると、Someの中身5を使用することができ、a = 5と表示される。

fn main() {
    let a = Some(5);

    match a {
        Some(i) => message(i), // このようにしてSomeの中身iを使うことができる。iはなんと命名してもいい
        None => println!("None"),
    }

    fn message(number_in_some: u32) {
        println!("a = {}", number_in_some);
    }
}

matchを利用する方法②(条件分岐)

以下のようにすると、matchの条件にSomeの中身を使用することができ、larger or equal to 10と表示される。

fn main() {
    let a = Some(10);

    match a {
        Some(i) if i >= 10 => println!("larger or equal to 10"), // このように左辺の条件としてiを使用できる。
        Some(i) => println!("smaller than 10"),
        None => println!("None"),
    }
}

if let Some(i) = variableと書く方法

以下のようにすると、c = 10と表示される。
Rust公式ドキュメントのChapter17で使われている方法

fn main() {
    let c = Some(10);

    if let Some(i) = c {
        println!("c = {}", i);
    }
}

unwrap()を使う方法

以下のようにすると、d = 10と表示される。
Rust公式ドキュメントのChapter17で使われている方法

fn main() {
    let d = Some(10);
    println!("d = {}", d.unwrap());
}
4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?