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

Posted 大熊猫侯佩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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放到冒号后面去:


                

以上是关于Swift3中方法可变参数语法的一些改变的主要内容,如果未能解决你的问题,请参考以下文章

具有不同编译器的 C++ 和可变参数

java中LIST 出来的东东 作为参数放进一个方法,方法里改变了LIST,那是否就真的改变了?还是出了这个方法

Java学习基础的第四天 for循环,Java语法中的方法,方法的重载,可变参数,递归,数组

C++0x 可变参数包:语法

Swift3.0变化分享

swift3.0变化总结