HomePlayground
Intro
シャドーイングとは(Rust)
カニさん
カニさん
July 22, 2022
1

見出し

01
シャドーイングとは
02
ブロック内でのシャドーイング
シャドーイングとは(Rust)

シャドーイングとは

Rustでは、同じ名前の変数を複数回宣言できます。

fn main() {
    let a = 10;
    println!("{}", a);
    let a = 20;
    println!("{}", a);
}

1 つめの a と 2 つめの a は、名前は同じですが、別の変数とみなされます。

1 回目の println! では、1番目の a の値が出力され、2 回目の println! では、2番目の a の値が出力されます。 出力は上から 10 20 となります。

ここで注意しなくてはならないのは、同じ名前の変数を宣言すると、それより前に宣言した変数が使えなくなってしまうという事です。 これを変数のシャドーイングと言います。

ブロック内でのシャドーイング

fn main() {
    let a = 10;
    {
        println!("{}", a);
        let a = 20;
        println!("{}", a);
    }
    println!("{}", hoge);
}

上記コードのようにシャドーイングをブロックの中で行うと、ブロックを抜けた後は 2 つめの a が存在しないので、最後の println! では 1 つめの a の値が出力されます。 よって、出力は上から 10 20 10 となります。


タグ

initializationshadowing

関連記事

RustのOption型の使い方と構文
September 19, 2022
1
© 2023, All Rights Reserved.

初心者向け

RustCoder(推奨)Rust入門(速習)コミュニティ

SNS