加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

5.8 Swift函数类型

发布时间:2020-12-14 06:33:03 所属栏目:百科 来源:网络整理
导读:/** (8) 函数类型 函数类型变量 / 常量 函数类型参数 函数类型返回值 */ // 这个是变量 自动识别为整型 // var calFunc = add(a: #T##Int#,b: #T##Int#) // var calFunc = add(a: 5,b: 3) // 定义一个函数类型变量 // var calFunc: (Int,Int) - Int = add //

/**

(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

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读