Swift3中方法可变参数语法的一些改变
来源:互联网 发布:linux 修改主机名 编辑:程序博客网 时间:2024/06/06 20:27
我们知道在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 = 10foo(&i)print(i)
that’s all!!!
不过在Xcode8.0beta中Swift3.0的预演版中,情况又有所变化,运行上述代码,编译器会提示你inout关键字放错地方了,你必须将inout放到冒号后面去:
func test( i:inout Int){ i += 1 print(i)}var x = 10test(&x)print(x)
你可以结合我之前写的一篇Swift中如何转换不同类型的Mutable指针来看,相信你一定有所收获 ;]
0 0
- Swift3中方法可变参数语法的一些改变
- Swift3中方法可变参数语法的一些改变
- Swift3.0 CoreData Fetch语法的一些改变
- java中参数数量可变的方法
- java 方法中可变参数的使用
- Java中可变长参数的方法
- Java中方法的可变参数
- 方法的可变参数
- 方法的可变参数
- 可变参数的方法
- Swift3.0中新的改变
- swift3.0之后改变的语法 二维码定位
- java中可变参数方法
- Java中方法的参数改变情况
- swift3.0的改变
- Swift3翻天覆地的改变
- swift3的改变
- java中方法的可变参数的研究
- [Cloud Computing]Mechanisms: Attribute-Based Access Control System
- How to: Create and Initialize Trace Listeners
- UIButton中setTitleEdgeInsets和setImageEdgeInsets的使用
- 什么时候该用成员变量、什么时候用方法变量?
- Swift3中方法可变参数语法的一些改变
- Swift3中方法可变参数语法的一些改变
- Failed to prepare TableSyncChunk plugin: Cannot chunk table `ccda`.`pending_0` using the character c
- 研究网络标准组织
- 【poj】3687 Labeling Balls【拓扑排序】
- 显示串行接口时,常见以下几种状态
- 如何使用RecyclerView
- 初始配置配置 IPv6 并检验连通性
- HTML表单标签属性
- 初始化并重新加载路由器和交换机