我在Swift Tests source code中找到了一个有趣的功能:
func test(_ v: A????, _ cast: (A????) -> B?)
由于Type?
只是Optional<Type>
的语法糖,这意味着参数v
的类型可以重写为Optional<Optional<Optional<Optional<A>>>>
。
我知道这个函数用于测试可选类型,所以它肯定会过度使用参数v
和cast
,但实际使用的是&#34; an可选的等等。&#34;输入Swift(如果有的话)?
答案 0 :(得分:3)
当您访问数据时,有时会出现在Swift中。
一个例子是如果你有一个带有值的可选类型的字典,然后你在该字典中查找一个值:
Optional(Optional("Presley"))
nil
这是因为当键不存在时,字典查找可能会失败,并且在这种情况下它会返回rockStars
。因此,字典查找的返回类型必须是包含在可选项中的值类型。从String??
字典查找会返回onPress
。