gpt4 book ai didi

arrays - 类型末尾的双问号是什么意思?

转载 作者:行者123 更新时间:2023-12-03 19:42:51 25 4
gpt4 key购买 nike

我在 Show Quick Help 中遇到了未知类型操场中的部分。
我打开了Show Quick Help查看 first 类型的部分这是 Array 的属性.
问题是,类型末尾的双标是什么?

这是熟悉的

Double?
Apple - Optional

未知类型
Double??
screen-shot

最佳答案

Double??Optional<Optional<Double>> 的简写符号,它只是一个嵌套的 Optional . Optional是通用的 enum ,其Wrapped value 实际上可以是另一个 Optional因此您可以创建嵌套 Optional s。

let optional = Optional.some(2)
let nestedOptional = Optional.some(optional)
nestedOptional的类型这里是 Int?? .

对于您的具体示例, item.firstDouble?? , 自 item本身的类型为 [Double?]Array.first还返回 Optional ,因此你得到一个嵌套的 Optional .

您的 compactMap调用 data什么都没有,因为您在外部数组上调用它,其元素本身就是非可选数组。过滤掉 nil嵌套数组中的元素,您需要 map超过 data然后调用 compactMap里面 map .
let nonNilData = data.map { $0.compactMap { $0 } } // [[100, 35.6], [110, 42.56], [120, 48.4], [200]]

关于arrays - 类型末尾的双问号是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60531706/

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