我想让一个函数交换2个变量!但是对于新的Swift,我不能使用’var’…。
import UIKit func swapF(inout a:Int, inout with b:Int ) { print(" x = \(a) and y = \(b)") (a, b) = (b, a) print("New x = \(a) and new y = \(b)") } swapF(&5, with: &8)
文字不能作为inout参数传递,因为它们本质上是不可变的。
请改用两个变量:
var i=5 var j=8 swapF(a:&i, with: &j)
此外,对于最后的Swift 3快照之一,应将inout放置在类型附近,您的函数原型将变为:
func swapF(a:inout Int, with b:inout Int )