iOS开发Swift篇—(八)函数(2)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了iOS开发Swift篇—(八)函数(2),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1930字,纯文字阅读大概需要3分钟。
内容图文
![iOS开发Swift篇—(八)函数(2)](/upload/InfoBanner/zyjiaocheng/1305/ab548cab82f94bf4b0937b2c15cc1140.jpg)
iOS开发Swift篇—(八)函数(2)
一、函数类型
函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是
(形参类型列表) -> 返回值类型
1 func sum(num1: Int, num2: Int) -> Int { 2return num1 + num2 3 }
sum函数的函数类型是(Int, Int) -> Int
1 func printLine() 2 { 3 println("-----------") 4 }
printLine函数的函数类型有4种表示方法
(1)Void -> Void
(2)() -> ()
(3)Void -> ()
(4)() -> Void
二、利用函数类型定义变量
可以利用函数类型来定义变量,将来可以存储这种类型的函数
1 func sum(num1: Int, num2: Int) -> Int { 2return num1 + num2 3} 4 var fn: (Int, Int) -> Int = sum 5 fn(10, 20) // 返回30
由于Swift有类型推断机制,因此,也可以这么写
var fn = sum // fn以后所存储函数的类型就必须是(Int, Int) -> Int
三、函数作为参数
跟其他数据类型一样,函数也能当函数的参数
1 func printResult(fn: (Int, Int) -> Int, num1: Int, num2: Int) 2{ 3 println("运算结果是:%d", fn(num1, num2)) 4 }
fn参数接收一个函数,这个函数必须返回Int、有2个Int类型的参数
1 func sum(num1: Int, num2: Int) -> Int { 2return num1 + num2 3} 4 func minus(num1: Int, num2: Int) -> Int { 5return num1 - num2 6} 7 printResult(sum, 20, 10) // 308 printResult(minus, 20, 10) // 10
四、函数作为返回值
跟其他数据类型一样,函数也能当函数的返回值
1 func goToWork() { println("去上班") } 2 func playFootball() { println("踢足球") } 3 func howToDo(day: Int) -> () -> () { 4if day < 6 { 5return goToWork 6 } else { 7return playFootball 8 } 9} 10 var fn = howToDo(7) 11fn() 12// 踢足球
五、函数重载
函数重载:函数名相同,函数类型不同
下面的2个函数构成重载
(1)函数名:sum,函数类型:(Int, Int) -> Int
1 func sum(num1: Int, num2: Int) -> Int { 2return num1 + num2 3 }
(2)函数名:sum,函数类型:(Int, Int, Int) -> Int
1 func sum(num1: Int, num2: Int, num3: Int) -> Int { 2return num1 + num2 + num3 3 }
六、嵌套函数
全局函数:在全局作用域中定义的函数
嵌套函数:在某个函数体中定义的函数
代码示例:
1 func howToDo(day: Int) -> () -> () { 2 func goToWork() { println("去上班") } 3 func playFootball() { println("踢足球") } 4if day < 6 { 5return goToWork 6 } else { return playFootball } 7} 8 var fn = howToDo(5) 9 fn() // 去上班10 goToWork()
注意:第10行是错误写法,嵌套函数的作用域仅限于定义嵌套函数的函数体内部
原文:http://www.cnblogs.com/wendingding/p/3885785.html
内容总结
以上是互联网集市为您收集整理的iOS开发Swift篇—(八)函数(2)全部内容,希望文章能够帮你解决iOS开发Swift篇—(八)函数(2)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。