Swift 中的函数(下)

简介:

学习来自《极客学院:Swift中的函数》

工具:Xcode6.4

直接上基础的示例代码,多敲多体会就会有收获:百看不如一敲,一敲就会

复制代码
 1 import Foundation
 2  3 /***********嵌套函数*************/  4 func getMathFunc(#type: String) -> (Int) -> Int{
 5 func squre(num:Int) -> Int{
 6 return num*num
 7  }
 8 func cube(num:Int) -> Int{
 9 return num*num*num
10  }
11 switch(type){
12 case "square":
13 return squre
14 default:
15 return cube
16  }
17 }
18 var mathfunc = getMathFunc(type: "other")
19 println(mathfunc(4))
20 //由于嵌套函数在外函数内部只作用于该函数内部,所以使用闭包简化这个嵌套函数 21 22 /***********闭包*************/ 23 /* 24 { (形参列表) -> (返回值) in
25  可执行语句
26 }
27 */ 28 func getMathFunc_1(#type: String) -> (Int) -> Int{
29 // func squre(num:Int) -> Int{
30 // return num*num
31 // }
32 // func cube(num:Int) -> Int{
33 // return num*num*num
34 // } 35 switch(type){
36 case "square":
37 return {
38 (num:Int) -> Int in 39 return num * num
40  }
41 default:
42 return {
43 (num:Int) ->Int in 44 return num * num * num
45  }
46  }
47 }
48 var mathfunc_1 = getMathFunc_1(type: "other")
49 println(mathfunc_1(5))
50 //利用上下文推断类型 51 var squre1: (Int) -> Int = {(num) in return num*num }
52 println(squre1(8))
53 var squre2: (Int) -> Int = {num in return num*num }
54 println(squre2(9))
55 //省略形参名,通过$0,$1...来引用第一个、第二个参数 56 var squre3: (Int) -> Int = {$0 * $0}
57 println(squre3(10))
58 59 //闭包的经典使用 60 var result: Int = {
61 var result = 1 62 for i in 1...$1{
63 result *= $0 64  }
65 return result
66 }(4,3)
67 println(result)
68 69 //尾随闭包 70 func someFunction(num:Int,fn: (Int)->()){
71 //执行代码 72 }//第一个参数为整型,第二个参数为闭包
73 //调用这个函数: someFunction(20,{})
74 //使用尾随闭包调用函数的格式:someFunction(20){}
75 76 //捕获上下文中的变量或者常量 77 func makeArr(ele:String) ->() ->[String]{
78 //创建一个不包含任何元素的数组 79 var arr: [String] = []
80 func addElement() -> [String]{
81 //向arr数组中添加一个元素 82  arr.append(ele)
83 return arr
84  }
85 return addElement
86 }
复制代码

相关文章
|
18天前
|
安全 编译器 Swift
Swift 函数
10月更文挑战第27天
13 1
|
4月前
|
Swift iOS开发 Kotlin
苹果iOS新手开发之Swift中实现类似Kotlin的作用域函数
Swift可通过扩展实现类似Kotlin作用域函数效果。如自定义`let`, `run`, `with`, `apply`, `also`,增强代码可读性和简洁性。虽无直接内置支持,但利用Swift特性可达成相似功能。
72 7
|
5月前
|
Swift C++ 索引
Swift开发——简单函数实例
函数是编程的基础,用于封装特定功能的代码。它们有关键词func、函数名、参数列表(可为空)和返回类型。多返回值可通过元组、数组、inout参数或可选类型实现。例如,返回元组 `(value1, value2)`,数组 `[value1, value2]` 或使用可选数组 `[[Double]]?`。函数可以作为其他函数的参数,类似闭包或Lambda表达式。在Swift中,示例展示了通过元组、带索引的元组、数组和可选类型返回多个值的函数。还演示了如何使用inout参数交换变量值。
107 5
Swift开发——简单函数实例
|
6月前
Swift4.0判断本函数是否在其它类有相同的方法
Swift4.0判断本函数是否在其它类有相同的方法
43 0
|
6月前
|
存储 API Swift
【Swift开发专栏】Swift函数与闭包的实战应用
【4月更文挑战第30天】本文介绍了 Swift 中函数和闭包的实战应用。首先,函数的基本使用包括定义、参数与返回值、函数类型以及高级技巧如嵌套函数。接着,讨论了闭包的语法,包括无名函数、作为函数参数、简写形式和尾随闭包。最后,展示了函数和闭包在实战中的应用,如排序过滤集合和处理异步任务的回调。
49 0
|
6月前
|
存储 Swift
Swift 语言:什么是闭包(Closure)?它们与函数的区别是什么?
Swift 语言:什么是闭包(Closure)?它们与函数的区别是什么?
130 1
|
6月前
|
Swift
Swift中的函数
Swift中的函数
44 1
|
6月前
|
存储 Swift
Swift中,函数和闭包
Swift中,函数和闭包
76 1
|
Swift iOS开发
23 Swift中如何定义和使用函数
Swift中如何定义和使用函数
92 0
|
Swift
Swift Debug 和 Release 中 print() 函数调试切换
Swift Debug 和 Release 中 print() 函数调试切换
71 0