Swift — 关键字 where

在Swift中,where 关键词主要用于添加约束条件或过滤条件。它可以在多种情况下使用,以下是一些常见的用法:

1. 在泛型约束中: #

func someFunction<T>(param: T) where T: Comparable {
    // 只有当 T 遵循 Comparable 协议时,这个函数才能被调用
}

2. 在协议扩展中: #

extension Collection where Element: Equatable {
    // 这个扩展只适用于元素类型遵循 Equatable 协议的集合
}

3. 在 switch 语句的 case 中: #

switch someValue {
case let x where x > 0:
    print("Positive")
case let x where x < 0:
    print("Negative")
default:
    print("Zero")
}

4. 在 for-in 循环中: #

for i in 1...100 where i % 2 == 0 {
    print(i) // 只打印偶数
}

5. 在可选绑定中: #

if let value = optionalValue where value > 10 {
    // 只有当 optionalValue 不为 nil 且大于 10 时执行
}

6. 在关联类型声明中: #

protocol Container {
    associatedtype Item where Item: Equatable
}

小结 #

总的来说,where 关键词允许你在各种上下文中添加额外的条件或约束,使得代码更加灵活和精确。它帮助你更好地控制类型、值的范围,以及在何种条件下执行特定的代码。

本文共 326 字,上次修改于 Dec 16, 2024