加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

5.6 Swift中inout参数

发布时间:2020-12-14 06:33:06 所属栏目:百科 来源:网络整理
导读:/** inout 参数 例子交换 a 和 b */ var x = 10 var y = 19 swap3 (a: x,b: y) /** 可以看到 在 swap3 函数中 a b 进行了修改, 但是 x y 并没有进行修改 这是一个典型的认识误区,我们想当然的认为 x y 进行了修改 只是变量 x 当前的值赋给了 a 变量 y 当前

/**

inout参数

例子交换 a b

*/

var x = 10

var y = 19

swap3(a: x,b: y)

/**

可以看到 swap3 函数中 a b 进行了修改,

但是 x y 并没有进行修改

这是一个典型的认识误区,我们想当然的认为 x y 进行了修改

只是变量 x当前的值赋给了a

变量 y当前的值赋给了 b

C语言中我们知道可以传递 x y 变量的地址

*/

print(x)

print(y)

/**

x y 变量本身传递给了 函数

a 引用了 x b 引用了y

& 地址

*/

swap4(a: &x,b: &y)


print("----------------->")

print(x)

print(y)


func swap3(a:Int,b:Int) -> Void {

var a = a

var b = b

let t = a

a = b

b = t

print("(a),(b)")

}

func swap4(a:inout Int,b:inout Int) -> Void {

var a = a

var b = b

let t = a

a = b

b = t

print("(a),(b)")

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读