Swift新手入门—函数
来源:互联网 发布:kar软件下载 编辑:程序博客网 时间:2024/04/29 06:46
Functions and Closures 函数和封闭性(闭包)
Functions 函数的使用
Swift中的函数定义和OC中有明显的区别了,使用func定义函数,在括号中定义参数和类型,用 -> 定义返回值类型
- func greet(name: String, day: String) -> String {
- return "Hello \(name), today is \(day)."
- }
- greet("Bob", "Tuesday")
使用一个元组 ()用来返回多个返回值
- 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()
新特性:Swift定义了函数也是一种类型,也即是说可以定义一个函数变量,某个函数的返回值可以是一个函数
- 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)
Closures 闭包的使用
函数其实是闭包的一种情况,你可以定义一个没有名字的闭包,只需要用大括号 { } 将闭包括起来,使用 in 来划分变量和返回值 (其实功能就类似OC中的Block)
- numbers.map({
- (number: Int) -> Int in
- let result = 33 * number
- return result
- })
你可以省略参数类型和返回值让上面的闭包更加简介,只有一条语句的闭包直接返回这条语句执行的结果
- numbers.map({ number in 33 * number })
你还可以在括号后面写闭包
- sort([1, 5, 3, 12, 2]) { $0 > $1 }
下一节我们说说对象和类
0 0
- Swift新手入门—函数
- Swift新手入门—数据类型
- Swift新手入门—条件语句
- Swift新手入门—对象和类
- Swift新手入门汇集帖
- ios开发之Swift新手入门
- MC新手入门(三十四)------ 函数
- JavaScript之新手入门函数篇
- Swift函数
- Swift函数
- swift 函数
- swift,函数
- [Swift]函数
- Swift 函数
- Swift函数
- swift函数
- Swift-函数
- Swift - 函数
- 单例模式
- Swift新手入门—条件语句
- 单例模式多线程环境实现之几句呢喃
- 如何在WCF中集成unity
- GDAL库初学
- Swift新手入门—函数
- 若干典型的设计模式
- Young氏矩阵
- 部署svn后遇到的问题
- 图片显示
- ORA-12520错误解决方法
- OOA概述
- openCV中IplImage的使用
- Linux驱动程序调试