gpt4 book ai didi

swift - Swift 中的切片是什么?

转载 作者:IT王子 更新时间:2023-10-29 04:57:02 28 4
gpt4 key购买 nike

什么是 Swift 中的切片,它与数组有何不同?

根据文档,subscript(Range) 的类型签名是:

subscript(Range<Int>) -> Slice<T>

为什么不返回另一个 Array<T>而不是 Slice<T>

看起来我可以将切片与数组连接起来:

var list = ["hello", "world"]
var slice: Array<String> = [] + list[0..list.count]

但这会产生错误:

could not find an overload for 'subscript' that accepts the supplied arguments

var list = ["hello", "world"]
var slice: Array<String> = list[0..list.count]

什么是切片?

最佳答案

切片指向数组。当数组已经存在并且切片只能描述它的所需部分时,没有必要创建另一个数组。

添加会导致隐式强制转换,因此它可以工作。为了让你的任务成功,需要强制:

var list = ["hello", "world"]
var slice: Array<String> = Array(list[0..<list.count])

关于swift - Swift 中的切片是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24073269/

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