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 inreturn a == b}
D.
var testEquality4 : (Int, Int) -> Bool = {(a : Int, b : Int) -> Boolreturn a == b}
- 下列选项中,使用闭包表达式实现两个数相减的是( )。
A.
var DoMath: (Int, Int) -> Int = {(a:Int, b:Int) -> Int inreturn 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 invalue * 3})
B.
applyMutliplication(2, {value inreturn 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 }
