斯威夫特的切球是什么? [英] What is a slice in Swift?

查看:51
本文介绍了斯威夫特的切球是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

SWIFT中的切片是什么?它与数组有什么不同?

文档中下标(Range)的类型签名为:

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

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

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

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

但这会产生错误:

找不到接受提供的 参数

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])

这篇关于斯威夫特的切球是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆