5.8 Swift函数类型
/** (8)函数类型 函数类型变量/ 常量 函数类型参数 函数类型返回值 */
// 这个是变量 自动识别为整型 // var calFunc = add(a: <#T##Int#>,b: <#T##Int#>) // var calFunc = add(a: 5,b: 3)
// 定义一个函数类型变量 // var calFunc: (Int,Int) -> Int = add // 这个是函数变量 var calFunc: (Int,Int) -> Int = add
calFunc = sub
print("------------->") print(calFunc(4,6))
let num = calFunc2(a: 4,b: 2,op: sub) print("------------->") print(num)
// 因此我们可以得出一个结论,函数类型可以作为函数返回值类型,也可以作为函数参数类型 var myFunc:(Int,Int) -> Int = chooseFunc(getMax: false)
print("------------->") print(myFunc(2,9))
func add(a: Int,b: Int) -> Int {
return a + b } func sub(a: Int,b: Int) -> Int {
return a - b } // 上面这两个 add sub 函数它们的参数类型一样,返回值类型一样 // 这就是所谓的函数类型 参数类型 -> 返回值类型 // (Int,Int) -> Int // 由函数的参数类型和函数的返回值类型决定的
// 函数类型参数 func calFunc2(a: Int,b: Int,op: (Int,Int) -> Int) -> Int { return op(a,b) }
func max(a: Int,b: Int) -> Int { return a > b ? a : b }
func min(a: Int,b: Int) -> Int { return a > b ? b : a } // 返回值是函数类型 func chooseFunc(getMax: Bool) -> ( (Int,Int) -> Int ) { return getMax ? max : min } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |