我正在切片字符串数组并将其设置为[String]
变量,但是类型检查器在抱怨。它可能是编译器错误吗?
var tags = ["this", "is", "cool"]
tags[1..<3]
var someTags: [String] = tags[1..<3]
Answers:
用范围下标数组不会返回数组,而是一个切片。不过,您可以从该切片创建阵列。
var tags = ["this", "is", "cool"]
tags[1..<3]
var someTags: Slice<String> = tags[1..<3]
var someTagsArray: [String] = Array(someTags)
var someTags = tags[1..<3] var someTagsArray: [String] = someTags
它会为您提供更多帮助error: 'Slice<String>' is not convertible to '[String]'
创建切片时,只需将其转换为数组即可。将数组保持为数组,而不必使用中间变量。使用Codable类型时,这非常有用。
var tags = ["this", "is", "cool"]
tags = Array(tags[1..<3])
Slice
记录?错误消息也不正确,并且Slice
在操场上显示为[String]。因此,似乎有两个编译器错误和缺少文档。