免费开源的iOS开发学习平台

Swift语法介绍: 函数关键字(inout)

inout

当函数体内修改参数的值,需要反馈到函数外时,需要把参数添加inout关键字

var dynamicName:String = "jack"

func function4(inout name:String) {
    name = "rose"
    print(name)
}

dynamicName
//调用时,参数前会自动添加&符号
function4(&dynamicName)
dynamicName

运行结果:

var(swift3.0已经废弃)

函数中传入的参数默认情况下都是常量,不能修改其值,如下的写法是错误的。

func function2(myName:String, myAge:Int) {
    print("my name is \(myName), my age is \(++myAge)")
}

当需要修改传入参数的值时,可以在参数前添加var关键字

//对于需要修改的传参,添加var关键字
func function2(myName:String,var myAge:Int) {
    print("my name is \(myName), my age is \(++myAge)")
}

function2("jack", myAge: 34)

运行结果:

另外,函数体内修改变量的值仅限于函数内。

var myAge = 34
func function3(var myName:String,var myAge:Int) {
    myName = "rose"
    myAge++
    print("my name is \(myName), my age is \(myAge)")
}

function3(myName, myAge: myAge)
myName
myAge

运行结果:

代码下载

https://github.com/99ios/SwiftBasic

视频教程