美文网首页工作生活
Swift中的模式匹配

Swift中的模式匹配

作者: 盖小聂 | 来源:发表于2019-06-30 17:01 被阅读0次

    1、模式匹配
    2、where和模式匹配

    1、模式匹配
    • 虽然在Swift中没有内置的正则表达式支持,但是一个和正则表达式匹配有些相似的特性其实是内置于Swift中的,那就是模式匹配。
    • 在Swift中,使用=来表示模式匹配的操作符。=操作符左右两边分别接受可以判断等的类型,可以与nil比较的类型,以及一个范围输入和某个特定值,返回值很明了,都是是否匹配成功的Bool值。
    • Swift的switch就是使用了~=操作符进行模式匹配,case指定的模式作为左参数输入,而等待匹配的被switch的元素作为操作符的右侧参数。只不过这个调用是由Swift隐式地完成的。
    • 在switch中做case判断的时候,我们完全可以使用我们自定义的模式匹配方法来进行判断,只需要重载~=操作符就可以。
    2、where和模式匹配

    where的使用场合

    • 在Switch语句中,可以使用where来限定某些条件case
    • 在for中也可以使用where来做类似的条件限定
    • 有一些场合是只有使用where才能准确表达的,比如在泛型中想要对方法的类型进行限定时。
    • 有些时候,我们希望一个接口扩展的默认实现只在某些特定的条件下适用,这是就可以使用where关键字。

    相关文章

      网友评论

        本文标题:Swift中的模式匹配

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