护舒宝

 

func 的参数修饰

1.0 在声明一个 Swift的方法的时候,我们一般不去指定参数前面的修饰符,而是直接声明参数:

func incrementor(variable : Int) ->Int {



    return variable + 1

}

 

这个方法接受一个Int的输入,然后通过将这个输入加1,返回一个新的比输入大于1的Int值,为了简化

func incrementor1(variable : Int) -> Int{


    return ++variable
}

 

结果报错,所以一般情况下 func 的参数在没有任何修饰符的时候 ,默认情况下所有的参数都是 let 的,上面的代码等效为:

func incrementor2( let variable : Int) ->Int{

    return ++variable
}

 

为了确保上述func 不报错,我们 可以在参数前面 显式的用 var 修饰,这样就可以去除错误,并且运算结果正确

func incrementor3( var  variable : Int) ->Int{
    
    return ++variable
}


var luckyNumber = 7

let newNumber = incrementor3(7)

//newNumber = 8

print(luckyNumber)
//luckyNumber = 7

 

 

但是从上面,我们可以看出 luckyNumber的值并没有改变,说明这里 我们用 var 修饰func 里面的参数,只是在方法内部起作用,而不会影响外部值,然而有些时候,我们希望在func 里面修改输入值,并能影响到原本的值  我就可以用 inout 来对参数进行修饰 

func incrementor4( inout variable : Int) ->Int{
    
    return ++variable
}

var luckyNumber1 = 8

let num2 = incrementor4(&luckyNumber1)

//num2 = 9
print(luckyNumber1)
//luckyNumber1 = 9

 

 

最后,本文仅是个人对王巍老师的Swifter学习的一个笔记,感谢王巍老师的分享。

 

posted on 2015-12-15 18:13  护舒宝  阅读(227)  评论(0)    收藏  举报

导航