美文网首页
Swift中where的使用场景

Swift中where的使用场景

作者: Sweet丶 | 来源:发表于2022-12-16 16:44 被阅读0次

Swift中可以使用where对模式匹配增加进一步的匹配条件。常见的5种使用场景:swiftch语句、for循环语句、协议中关联类型的约束、函数的适用条件、扩展中。

func testWhere() {
    // 1.
    var data = (20, "dandy")
    switch data {
    case let(age, _) where age > 10: // where给case增加条件
        print(data.1, "age > 10")
    default: break
    }
    // 2.
    var ages = [10, 20, 30, 40]
    for age in ages where age > 30 {
        print(age)
    }// 40
    
}

// 3.
protocol Stackable { associatedtype Element }
protocol Container {
    associatedtype Stack: Stackable where Stack.Element: Equatable // 关联类型的元素要遵守Equatable协议
}

// 4.
func equal<S1: Stackable, S2: Stackable>(_ s1: S1, s2: S2) -> Bool
    where S1.Element == S2.Element, S1.Element: Hashable {
        return false
}

//5
extension Container where Self.Stack.Element: Hashable {}

相关文章

  • Swift中where的使用场景

    Swift中可以使用where对模式匹配增加进一步的匹配条件。常见的5种使用场景:swiftch语句、for循环语...

  • Swift中的where使用

    1.首先where最常用的还是在协议部分(最主要还是给协议添加默认实现) 2.在使用泛型的时候也常常用到where...

  • swift 中的 where

    使用场景 switch 语句使用 where 配合 if let 限定某些条件。 配合 for 循环来添加限定条件...

  • Swift之where一般使用场景

    使用where语句之前必须在where之前有一个主语变量名 协议约束 for...in...遍历 case 语句,...

  • 控制语句

    if语句 switch swift不需要加break跳出 区间匹配 元祖匹配 case中还可以使用where关键字...

  • Swift 3必看:从使用场景了解GCD新API

    Swift 3必看:从使用场景了解GCD新API Swift 3必看:从使用场景了解GCD新API

  • Mysql之子查询

    一、子查询使用场景 --select... -- --from --where<可使用子查询> --having<...

  • swift中的? 与!使用场景

    ! 使用场景 1.强制对Optional值进行拆包(unwrap)2.声明Implicitly Unwrapped...

  • swift中的defer使用场景

    延迟 个人理解类似闭包,会延迟执行,但只要执行了defer定义的代码就一定会执行。 执行顺序 defer的位置越靠...

  • Swift where 关键字

    1、关键字定义 在Swift语法里where关键字的作用跟SQL的where一样, 即附加条件判断。 2、使用方式...

网友评论

      本文标题:Swift中where的使用场景

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