来自Swift Programming Language文档:
隐式解包可选类型
Swift语言定义了后缀!作为命名类型ImplicitlyUnwrappedOptional的语法糖,它在Swift标准库中定义。换句话说,以下两个声明是等效的:
var implicitlyUnwrappedString: String! var implicitlyUnwrappedString: String!
在这两种情况下,变量implicitlyUnwrappedString都声明为具有隐式解包的可选字符串的类型。请注意,类型和!。之间不会出现空格。
我错过了什么吗?这两行看起来和我完全一样,为什么两个声明不等同?
答案 0 :(得分:2)
是的,这没有任何意义。您可以在Swift书中找到正确的版本:
换句话说,以下两个声明是等效的:
var implicitlyUnwrappedString: String! var implicitlyUnwrappedString: ImplicitlyUnwrappedOptional<String>
摘自:Apple Inc.“The Swift Programming Language。”iBooks。 https://itun.es/de/jEUH0.l