gpt4 book ai didi

swift - 无法使用 .remove(at :)) 改变 [Int]

转载 作者:行者123 更新时间:2023-11-28 10:54:49 24 4
gpt4 key购买 nike

var bigNum = [2,34,5].remove(at: 2)

错误:

Playground execution failed: error: CalculatorPlayGround.playground:35:14: error: cannot use mutating member on immutable value of type '[Int]' var bigNum = [2,34,5].remove(at: 2)

但是

var bigNum = [2,34,5]
var b = bigNum.remove(at: 2)

没问题。

有什么区别?为什么它在第二种情况下有效?

最佳答案

.remove(at:) 尝试改变您调用它的数组。

当您像在第一个示例 ([1,2,3].whatever) 中那样创建数组时,它会创建一个不可变的常量,就好像您要这样创建它:

let array = [2, 34, 5] //not mutable

如果你强制它创建数组作为变量,它可变的:

var array = [2, 34, 5] //mutable

注意

我不知道您到底想做什么,但是 bigNum 让我假设您正在尝试从数组中获取数字?因为现在,bigNum 将变成这个数组:[2, 34] 而不仅仅是一个数字。

关于swift - 无法使用 .remove(at :)) 改变 [Int],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44323571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com