数组 – Swift数组可选类型和下标(Beta 3)
发布时间:2020-12-14 05:20:53 所属栏目:百科 来源:网络整理
导读:我正在关注2014年WWDC教程408:使用XCode Beta 3的 Swift Playgrounds(30分钟).自Beta 2以来,Swift语法已发生变化. var data = [27,46,96,79,56,85,45,34,2,57,29,66,99,65,40,58,87,64]func exchangeT(data: [T],i: Int,j: Int) { let temp = data[i] data[
我正在关注2014年WWDC教程408:使用XCode Beta 3的
Swift Playgrounds(30分钟).自Beta 2以来,Swift语法已发生变化.
var data = [27,46,96,79,56,85,45,34,2,57,29,66,99,65,40,58,87,64] func exchange<T>(data: [T],i: Int,j: Int) { let temp = data[i] data[i] = data[j] // Fails with error '@lvalue $T8' is not identical to 'T' data[j] = temp // Fails with error '@lvalue $T5' is not identical to 'T' } exchange(data,2) data 为什么我不能以这种方式修改可变整数数组?
因为子例程参数是使用let隐式定义的,因此不可变.尝试将声明更改为:
func exchange<T>(inout data: [T],j: Int) { 和调用: exchange(&date,2) 您也可以使用var,但这只允许在子例程中修改数组. beta 3的最大变化是使数组真正按值传递,而不是仅仅在某种程度上按值传递,而不是其余的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |