斯威夫特的切球是什么?

What is a slice in Swift?(斯威夫特的切球是什么?)

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

问题描述

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

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

本文标题为:斯威夫特的切球是什么?

基础教程推荐