func calculateStatistics(scores: [Int])
->(min:Int,max:Int,sum:Int){//[int]表示接收数组
var min = scores[0]
var max = scores[0]
var sum = 0
for score in scores{
if score > max{
max = score
}else if score < min{
min = score
}
sum += score
}
return(min,max,sum)
}
let statistics = calculateStatistics([5,3,100,3,9])
statistics.sum//数组的用法
statistics.2//数组快速下标
func returnFifteen() ->Int{//函数嵌套的示例
var y = 10
func add(){
y += 5
}
add()
return y
}
returnFifteen()
func makeIncrementer() -> (Int -> Int){//这里示范了如何返回函数的写法
func addOne(number: Int) ->Int{
return 1 + number
}
return addOne
}
var increment = makeIncrementer()//接收函数
increment(7)
func hasAnyMatches(list: [Int], condition:Int -> Bool) ->Bool{//将函数作为参数的示例
for item in list{
if condition(item){
return true
}
}
return false
}
func lessThanTen(number: Int) -> Bool{
return number < 10 //快速语法返回一个bool值
}
var numbers = [20, 19, 7, 12]
hasAnyMatches(numbers, lessThanTen)//将函数作为参数传递进去
var min = scores[0]
var max = scores[0]
var sum = 0
for score in scores{
if score > max{
max = score
}else if score < min{
min = score
}
sum += score
}
return(min,max,sum)
}
let statistics = calculateStatistics([5,3,100,3,9])
statistics.sum//数组的用法
statistics.2//数组快速下标
func returnFifteen() ->Int{//函数嵌套的示例
var y = 10
func add(){
y += 5
}
add()
return y
}
returnFifteen()
func makeIncrementer() -> (Int -> Int){//这里示范了如何返回函数的写法
func addOne(number: Int) ->Int{
return 1 + number
}
return addOne
}
var increment = makeIncrementer()//接收函数
increment(7)
func hasAnyMatches(list: [Int], condition:Int -> Bool) ->Bool{//将函数作为参数的示例
for item in list{
if condition(item){
return true
}
}
return false
}
func lessThanTen(number: Int) -> Bool{
return number < 10 //快速语法返回一个bool值
}
var numbers = [20, 19, 7, 12]
hasAnyMatches(numbers, lessThanTen)//将函数作为参数传递进去
numbers.map({//闭包的写法
(number:Int) -> Int in
let result = 3 * number
return result
})
let mappedNumbers = numbers.map({number in 3 * number})//上述闭包的快速写法
mappedNumbers
let sortedNumbers = sorted(numbers){ $0 > $1 }//$0为快速位置引用
sortedNumbers
(number:Int) -> Int in
let result = 3 * number
return result
})
let mappedNumbers = numbers.map({number in 3 * number})//上述闭包的快速写法
mappedNumbers
let sortedNumbers = sorted(numbers){ $0 > $1 }//$0为快速位置引用
sortedNumbers