常量参数:
无论是swift2.0还是swift3.0中,默认的参数都是常量参数。
变量参数:
在swift2.0中,通过在参数名前加关键字 var 来定义变量参数,如下:
func play(num1: Int, num2: Int,var sum: Int,var mius: Int) {
sum = num1 + num2
mius = num1 - num2
}
在swift3.0中,var 定义变量参数的方式就被取消了。(原因请看)
注意:对变量参数所进行的修改在函数调用结束后便消失了,并且对于函数体外是不可见的。变量参数仅仅存在于函数调用的生命周期中。
如果你还坚持要修改参数的值,你可以试试
输入输出参数(In-Out Parameters)
使用方式:在参数类型的前面加关键字inout修饰,而且你只能传入一个变量作为输入输出参数。你不能传入常量或者字面量,因为这些量是不能被修改的。当传入的参数作为输入输出参数时,需要在参数前加&符,表示这个值可以被函数修改。如下:
func play(num1: Int, num2: Int, sum: inout Int, mius: inout Int) {
sum = num1 + num2
mius = num1 - num2
}
var sum = 0, mius = 0
play(num1: 10, num2: 20, sum: &sum, mius: &mius)
注意:使用输入输出参数修改参数的值,这些修改在函数调用结束后仍然存在)。
(如有不正确之处,请留言)