3.2.1 use

use 선언은 범위 지정이 없이 사용할 수 있다.

// An attribute to hide warnings for unused code.
#![allow(dead_code)]

enum Status {
    Rich,
    Poor,
}

enum Work {
    Civilian,
    Soldier,
}

fn main() {
    // `use`를 명시적으로 이름마다 사용하기에 범위 지정없이 사용 가능하다.
    use Status::{Poor, Rich};
    // `Work` 내부의 각 이름마다 자동으로 `use` 된다.
    use Work::*;

    // `Status::Poor`와 동일.
    let status = Poor;
    // `Work::Civilian`와 동일.
    let work = Civilian;

    match status {
        // 앞에서 명시한 `use` 으로 인해 범위에 빈 틈이 있다. 
        Rich => println!("The rich have lots of money!"),
        Poor => println!("The poor have no money..."),
    }

    match work {
        // 범위에 빈 틈을 다시 한번 보자. 
        Civilian => println!("Civilians work!"),
        Soldier  => println!("Soldiers fight!"),
    }
}

See also:

match and use

results matching ""

    No results matching ""