美文网首页程序员
Rust中if-let 和while-let

Rust中if-let 和while-let

作者: swapmem | 来源:发表于2017-03-11 18:47 被阅读269次

    Rust编程中可能会遇到像下面这样的代码块

    let x = Some(5);
    match x {
        Some(_)  => {do_something();},
        None      => {}
    }
    

    可以看到None对应的分支没有任何动作,代码看起来不够紧凑优雅,我们可以使用if-let语句进行改写:

    let x = Some(5);
    if let Some(_) = x {
       do_something()
    }
    

    这样写出来代码看起来会紧凑很多,不必使用match语句。if-let 语句的范式为:

    if  let pattern = expression {
        do_something()
    } else {
        other()
    }
    

    while-let语句也遵循同样的范式:

    while let pattern = expression {
        do_something()
    }
    

    相关文章

      网友评论

        本文标题:Rust中if-let 和while-let

        本文链接:https://www.haomeiwen.com/subject/bjjqettx.html