10.7 同步练习
- 下列选项中,正确表示闭包定义的是( )。
A.
{ (参数列表) ->返回值类型
语句组
}
B.
{ (参数列表) ->返回值类型 in
语句组
}
C.
{ (参数列表) ->返回值类型
语句组
}
D.
{ (参数列表) in
语句组
}
- 下列选项中,闭包表达式正确的是( )。
A.
var testEquality1 : (Int, Int) -> Bool = {
return $0 == $1
}
B.
var testEquality2 : (Int, Int) -> Bool = {
$0 == $1
}
C.
var testEquality3 : (Int, Int) -> Bool = {
(a : Int, b : Int) -> Bool in
return a == b
}
D.
var testEquality4 : (Int, Int) -> Bool = {
(a : Int, b : Int) -> Bool
return a == b
}
- 下列选项中,使用闭包表达式实现两个数相减的是( )。
A.
var DoMath: (Int, Int) -> Int = {(a:Int, b:Int) -> Int in
return a-b
}
B.
var DoMath: (Int, Int) -> Int = {(a, b) return a-b}
C.
var DoMath: (Int, Int) -> Int = {(a, b) in return a-b}
D.
var DoMath: (Int, Int) -> Int = {$0-$1}
- 下面是一个函数的定义:
func applyMutliplication(value: Int, multFunction: Int -> Int) -> Int {
return multFunction(value)
}
能正确地调用applyMutliplication
函数的语句是( )。
A.
applyMutliplication(2, {value in
value * 3
})
B.
applyMutliplication(2, {value in
return value * 3
})
C.
applyMutliplication(2, {$0 * 3})
D.
applyMutliplication(2) {$0 * 3}
- 数组类型有一个
sort
方法可以实现参数数组元素的排序。给出一个数组定义var array = [3,2,4,1]
,那么下列排序语句正确的是( )。
A. array.sort({ (item1: Int, item2: Int) -> Bool in return item1 < item2 })
B. array.sort({ (item1, item2) -> Bool in return item1 < item2 })
C. array.sort({ (item1, item2) in return item1 < item2 })
D. array.sort { (item1, item2) in return item1 < item2 }
E. array.sort { return $0 < $1 }
F. array.sort { $0 < $1 }