Swift函数和闭包
2014-06-04 11:13
316 查看
函数
Swift 使用
通过元组(Tuple)返回多个值:
支持带有变长参数的函数:
函数也可以嵌套函数:
作为头等对象,函数既可以作为返回值,也可以作为参数传递:
闭包
本质来说,函数是特殊的闭包,Swift 中可以利用
当闭包的类型已知时,可以使用下面的简化写法:
此外还可以通过参数的位置来使用参数,当函数最后一个参数是闭包时,可以使用下面的语法:
Swift 使用
func关键字声明函数:
func greet (name: String, day: String) -> String { return "Hello \(name), today is \(day)." } greet ("Bob", "Tuesday")
通过元组(Tuple)返回多个值:
func getGasPrices () -> (Double, Double, Double) { return (3.59, 3.69, 3.79) } getGasPrices ()
支持带有变长参数的函数:
func sumOf (numbers: Int...) -> Int { var sum = 0 for number in numbers { sum += number } return sum } sumOf () sumOf (42, 597, 12)
函数也可以嵌套函数:
func returnFifteen () -> Int { var y = 10 func add () { y += 5 } add () return y } returnFifteen ()
作为头等对象,函数既可以作为返回值,也可以作为参数传递:
func makeIncrementer () -> (Int -> Int) { func addOne (number: Int) -> Int { return 1 + number } return addOne } var increment = makeIncrementer () increment (7)
func hasAnyMatches (list: Int[], condition: Int -> Bool) -> Bool { for item in list { if condition (item) { return true } } return false } func lessThanTen (number: Int) -> Bool { return number < 10 } var numbers = [20, 19, 7, 12] hasAnyMatches (numbers, lessThanTen)
闭包
本质来说,函数是特殊的闭包,Swift 中可以利用
{}声明匿名闭包:
numbers.map ({ (number: Int) -> Int in let result = 3 * number return result })
当闭包的类型已知时,可以使用下面的简化写法:
numbers.map ({ number in 3 * number })
此外还可以通过参数的位置来使用参数,当函数最后一个参数是闭包时,可以使用下面的语法:
sort ([1, 5, 3, 12, 2]) { $0 > $1 }
相关文章推荐
- Swift之函数和闭包
- swift 函数和闭包
- Swift语法基础:3 - Swift的函数和闭包
- swift基础语法(四) 函数、闭包(Closures)
- Swift之旅(三)函数与闭包
- Swift中文教程(四)--函数与闭包
- Swift的函数与函数指针、闭包Closure等相关内容介绍
- Swift 中的利刃,函数和闭包
- swift 学习(二)基础知识 (函数,闭包,ARC,柯里化,反射)
- Swift学习笔记-函数和闭包(1)
- 苹果新的编程语言 Swift 语言进阶(六)--函数和闭包
- Swift学习笔记 - 函数与闭包
- 苹果新的编程语言 Swift 语言进阶(六)--函数和闭包
- Swift 中的利刃,函数和闭包
- Swift 1.1语言第7章 函数和闭包
- Swift 基础语法三--函数和闭包
- Swift入门篇-闭包和函数
- 苹果新的编程语言 Swift 语言进阶(六)--函数和闭包
- Swift基础语法: 23 - Swift的闭包简介, Sorted函数, 闭包的表达式语法, 根据上下文推断类型, 参数名简写, 运算符函数
- Swift学习笔记-函数和闭包(2)