淘先锋技术网

首页 1 2 3 4 5 6 7

in大概有2种用法。

1、for in 

for i in 1..10


2、{arg in 

//to do

}

func hasAnyMatches(list:Array<Int>,condition:Int -> Bool) ->Bool {

    for item in list {

        if condition(item) {

            return true

        }

    }

    return false

}

func lessThanTen(number:Int) -> Bool {

    return number < 10

}

var numbers = [20,19,2,6]

hasAnyMatches(numbers,lessThanTen)

如果要使用hasAnyMatches,而不想把lessThanTen函数明确定义出来,你可以这样:

func hasAnyMatches(list:Array<Int>,condition:Int -> Bool) ->Bool {

    for item in list {

        if condition(item) {

            return true

        }

    }

    return false

}

var numbers = [20,19,2,6]

hasAnyMatches(numbers,{number in

    return number < 10

})

这不是看起来简洁了很多,因为hasAnyMatches函数中声明了condition函数的参数类型,所以你不需要再声明,可以直接写number 而in用来分隔参数和函数主体。