常量參數:
無論是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)
注意:使用輸入輸出參數修改參數的值,這些修改在函數調用結束后仍然存在)。
(如有不正確之處,請留言)