sub*_*272 4 struct ios swift mutating-function inout
根据Swift文档,mutation和inout关键字均用于从函数内部修改值类型。“变异”和“输入”之间是否有任何区别,以及在任何需要使用它们之一的特殊情况下,有什么区别。
Swe*_*per 12
mutating标记方法。inout标记参数。他们是完全不同的东西。
标mutating有的方法可以更改,self即设置self,重新分配self等的属性。
struct Foo {
var foo: Int
mutating func mutate() {
foo += 1 // this is mutating self
}
}
Run Code Online (Sandbox Code Playgroud)
与常量相反,标inout有的参数基本上变为var变量let。您可以更改它们,更改也将反映在呼叫者一方。
func f(_ x: inout Int) {
x = 10
}
var a = 1
f(&a)
print(a) // 10
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
381 次 |
| 最近记录: |