Swift3中方法可变参数语法的一些改变
发布时间:2020-12-14 02:34:29 所属栏目:百科 来源:网络整理
导读:我们知道在Swift2中,默认情况下方法的参数是let值,也就是不可改变的. 不过我们可以在参数前添加var关键字改变其不变性: func foo( var i:Int){ i += 1 print (i)} 不过遗憾的是在Swift2.x+中,已经明确表明方法参数的修饰关键字var将会在Swift3中被移除,所以
我们知道在Swift2中,默认情况下方法的参数是let值,也就是不可改变的. 不过我们可以在参数前添加var关键字改变其不变性: func foo(var i:Int){
i += 1
print(i)
}
不过遗憾的是在Swift2.x+中,已经明确表明方法参数的修饰关键字var将会在Swift3中被移除,所以为了产出这可恶的警告,你必须使用inout关键字,并且在调用方法传递实参时也要加上地址符: fun foo(inout i:Int){ i += 1 print(i) }
var i = 10
foo(&i)
print(i)
that’s all!!! 不过在Xcode8.0beta中Swift3.0的预演版中,情况又有所变化,运行上述代码,编译器会提示你inout关键字放错地方了,你必须将inout放到冒号后面去: func test( i:inout Int){
i += 1
print(i)
}
var x = 10
test(&x)
print(x)
你可以结合我之前写的一篇Swift中如何转换不同类型的Mutable指针来看,相信你一定有所收获 ;] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |