【发布时间】:2022-01-09 02:57:34
【问题描述】:
我们知道在 Python 中你可以做到
s = (3,5,2)
a, *b = s # a=3 b=[5,2]
也就是说,你可以解压缩元组的第一个元素和 其余的。
我很难在 Swift 中找到相同的东西:
var tuple = ("Boston", "Red Sox", 97, 65, 59.9)
var (first, rest) = tuple
【问题讨论】:
-
尽管名称相同,但 Python 元组和 Swift 元组几乎没有任何相似之处。 Python 的元组只是不可变的列表,就像使用
let声明的 Swift 数组一样。 Swift 的元组是强类型的(并且是结构类型的)。如果没有可变参数泛型,就不可能对它们进行任何有用的“first/rest”函数式处理。数组会更适合这项工作。