// main.swift // swift1_闭包 // Created by beyond on 15/6/12. // Copyright (c) 2015年 beyond.com All rights reserved. import Foundation println("Hello,闭包!") func isExistFunc(arr:[Int],baseNum:Int,compareRuleBlock:(num1:Int,num2:Int)->Bool) ->Bool { for item in arr{ if compareRuleBlock(num1: item,num2: baseNum){ // 如果 比较的规则成立,则返回true return true } } return false } // 本次全校英语竞赛的所有考生成绩 var array = [50,20,60,70,90,133] // 下面通过闭包,求出是否存在 130分以上的高分考生 var res1 = isExistFunc(array,130,{ // 下面一行是【闭包的格式,即类型,最后一个in是固定写法】 (num1:Int,num2:Int) -> Bool in // 下面是比较的原则: return num1 >= num2 }) println("是否存在 130分以上的高分考生:\(res1)") // 下面通过闭包,求出是否存在 不及格的考生 var res2 = isExistFunc(array,{ // 下面是比较的原则: return $0 < $1 // 使用$0 $1 就不用写闭包的格式了 }) println("否存在 不及格的考生:\(res2)")
XCode 6.3.1
Mac OS 10.10.2