Swift where 关键字

1、关键字定义

在Swift语法里where关键字的作用跟SQL的where一样, 即附加条件判断。

2、使用方式

demo1 条件筛选
        let datas = [1,2,3,4,5,6,7,8,9,10]
        for item in datas where item > 4 {
            print(item)
        }

对数组进行遍历,打印出符合条件的数据

demo2 协议选择
protocol MyProtocol {
    func getNameMethod()
}
class Cat : MyProtocol{
    func getNameMethod() {
        
    }
}
class Dog{
    
}
//Cat 添加了协议才能添加拓展
extension MyProtocol where Self :Cat{
    func showName(){
        print("Cat")
    }
}
//Dog 没添加协议不能能添加拓展
extension MyProtocol where Self :Dog{
    func showName(){
        print("Dog")
    }
}

        let dog = Dog()//没继承协议 没有拓展方法
        let cat = Cat()//继承了协议 有拓展方法
        cat.showName()
demo3 guard let 判断
func setValue(item : [String]?) {
        guard let item = item where item.count > 4 else { return }
    }
    Swift4.0以后用,代替where
    func setValue(item : [String]?) {
        guard let item = item, item.count > 4 else { return }
    }

Swift 4.0以后使用逗号代替where

目前本小白只用到这几种情况,如有更多则以后慢慢添加.

你可能感兴趣的:(Swift where 关键字)