函数
Swift 使用一个统一的语法来表示简单的 C 语言风格的函数到复杂的 Objective-C 语言风格的方法。
函数定义:func
1
2
3
| func runoob(site: String) -> String {
return (site)
}
|
函数调用:
1
| print(runoob(site: "www.runoob.com"))
|
函数参数:
- 参数被包含在函数的括号之中,以逗号分隔。
- 函数参数都有一个外部参数名(外部调用时指定)和一个局部参数名(内部使用时使用),比如:
1
2
3
4
5
6
| func test(firstArg a: Int, secondArg b: Int) -> Int {
var res = a
print(b)
return a;
}
test(firstArg:5, secondArg:3)
|
- 使用
inout
关键字定义,使用 &
调用,可以传递引用参数。如果缺少 &
会报错类型不符,如果缺少 inout
会报错将 var
赋值给 let
。例子:
1
2
3
4
5
6
| func swapTwoInts(_ a: inout Int, _ b: inout Int) {
let temporaryA = a
a = b
b = temporaryA
}
swapTwoInts(&x, &y)
|
返回元组:
1
2
3
4
5
6
7
| func minMax(array: [Int]) -> (min: Int, max: Int) {
// ...
}
if let bounds = minMax(array: [8, -6, 2, 109, 3, 71]) {
print("最小值为 \(bounds.min),最大值为 \(bounds.max)")
}
|
函数类型:(SomeType) -> SomeType
闭包
Swift 中的闭包与 C 和 Objective-C 中的代码块(blocks)以及其他一些编程语言中的 匿名函数比较相似。