什么时候 Swift 编译器会将变量推断为隐式展开的可选值?或者变量必须始终用 !就这样对待它?
最佳答案
类型推断发生在编译时。将变量推断为隐式解包可选的唯一方法是为其分配一个变量(直接分配,或通过分配函数的返回值,该函数返回隐式解包可选)。
基本上,变量的“可选性”是其类型的一部分。以下变量的类型 x
和 y
是隐式展开的 Optional Int
(对于两者),最重要的是,类型系统不会将其视为与 Int
“相同的类型”。 (尽管您可以将它与 Int
互换使用,只要它不是 nil
)
let x: Int! = 7
fund make_y() -> Int! {
return 7
}
let y = make_y()
关于swift - Swift 编译器什么时候会将变量推断为隐式展开的可选值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24386493/