函数

1
2
3
4
5
6
7
8
func funcname(形参) -> returnType {
statement
return parameters
}

func funcname() -> datatype {
return datatype
}
  • 元祖

    **元组(tuples)**把多个值组合成一个复合值。本质上是一组数据。

1
2
3
let http404Error = (404, "Not Found")
// http404Error 的类型是 (Int, String),值是 (404, "Not Found")
// 这个元组可以被描述为“一个类型为 (Int, String) *的元组”
  • 元祖作为返回值
1
2
3
4
func funcname(形参) -> (元祖) {
statement
return
}
  • 可变参数

    可变参数可以接受零个或多个值。函数调用时,你可以用可变参数来指定函数参数,其数量是不确定的。可变参数通过在变量类型名后面加入(…)的方式来定义。

1
2
3
4
5
func vari<N>(members: N...){
for i in members {
print(i)
}
}
  • 变量参数

    一般默认在函数中定义的参数都是常量参数,也就是这个参数你只可以查询使用,不能改变它的值。

    如果想要声明一个变量参数,可以在参数定义前inout关键字,这样就可以改变这个参数的值了。

1
2
3
4
5
6
7
8
9
10
func  getName(_ name: inout String).........

func swapTwoInts(_ a: inout Int, _ b: inout Int) {
let temporaryA = a
a = b
b = temporaryA
}
var x = 1
var y = 5
swapTwoInts(&x, &y)