我有一个简单的案例,我不能正确使用 inout。
import Foundation
func test_inout(file_data: inout Array<String>){
let inString = "abc,def,xyz"
let file_data = inString.split { $0 == ","}.map(String.init)
print(file_data)
}
var array: Array = ["initial string"]
test_inout(file_data: &array)
print(array)
输出是:
["abc", "def", "xyz"]
["initial string"]
传递的数组的内容在第一次打印时发生了变化,但在第二次打印时没有发生变化。我确实将它作为 var 并在调用中使用了 & 。