您当前的位置: 首页 >  swift

Swift3中方法可变参数语法的一些改变

发布时间:2016-07-04 08:45:23 ,浏览量:0

我们知道在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指针来看,相信你一定有所收获 ;]

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    107781博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0538s