在任何语言中,函数都是非常重要的,今天我们就来初步的学习下Swift中的函数。
1、Swift函数默认参数:
①、可以放在函数的任意位置;
②、外部名称与内部名称一致;
③、调用的时候可以不写;
④、在函数定义时传入参数里定义好。
func joinString(s1: String , toString s2: String , joiner s3 : String = "*") -> String{ return s1 + s3 + s2 } let str = joinString("Hello", toString: "World", joiner: "#") println(str)
从上面的代码可以看出,joiner是定义好的一个默认参数,我们在调用的时候可以写也可以不写,看下面的代码:
func joinString(s1: String , toString s2: String , joiner : String = "*") -> String{ return s1 + joiner + s2 } let str = joinString("Hello", toString: "World", joiner: "#") println(str)
此时的joiner既是外部参数也是内部参数,相当于我们在joiner前面加了#号。
2、Swift输入输出函数(inout)
func swap(var a: Int, var b: Int){ let t = a a = b b = t } var x = 10 var y = 19 swap(x, y) println("\(x) , \(y)")
从上面的代码输出可以看出,x和y的值实际并没有改变,这就是我们认识的一个误区,swap的参数实际是实参,就相当于我们输入了2个整数而已,而实际上x和y的值并没有被改变,那如果我们需要改变x和y的值,那我们就该传入x和y的地址。
func swap(inout a: Int, inout b: Int){ let t = a a = b b = t } var x = 10 var y = 19 swap(&x, &y) println("\(x) , \(y)")
从上面的代码可以看出,当我们需要改变变量的实际值得实惠,我们在函数调用的时候就应该使用输入输出函数(inout),在调用函数的时候也要加上&符号。
结论:当我们需要在函数内部修改函数外部值得时候,我们需要在函数形参位置改为inout参数,调用函数的时候要取地址。
原文地址:http://blog.csdn.net/weasleyqi/article/details/43940963