美文网首页RUST编程
Rust 编程视频教程(进阶)——023 模式的 refutab

Rust 编程视频教程(进阶)——023 模式的 refutab

作者: 令狐壹冲 | 来源:发表于2020-02-26 09:19 被阅读0次

    视频地址

    头条地址:https://www.ixigua.com/i6775861706447913485
    B站地址:https://www.bilibili.com/video/av81202308/

    源码地址

    github地址:https://github.com/anonymousGiga/learn_rust

    讲解内容

    1、模式有两种:refutable(可反驳的)和 irrefutable(不可反驳的)。能匹配任何传递的可能值的模式被称为是不可反驳的。对值进行匹配可能会失败的模式被称为可反驳的。

    2、只能接受不可反驳模式的有:函数、let语句、for循环。原因:因为通过不匹配的值程序无法进行有意义的工作。

    3、if let和while let表达式被限制为只能接受可反驳的模式,因为它们的定义就是为了处理有可能失败的条件。

    4、例子:

    let a: Option<i32> = Some(5);
    let Some(x) = some_option_value; //失败,因为let是不可反驳的,
                                    //要匹配传递的所有的值,这里无法匹配None的情况
    
    if let x = 5 { //错误,if let接受可反驳的
        println!("x = {}", x);
    }
    

    相关文章

      网友评论

        本文标题:Rust 编程视频教程(进阶)——023 模式的 refutab

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