看看这个声明
from Apple document:
let optionalInt: Int? = 9
为什么要使用Int?作为这个常数的类型?你知道它不能是零,因为你分配值9吗?可选类型的目的(据我所知)是能够保持为零.在此语句中不需要optionalInt.有人可以解释吗
我发现一个你可以使用它的情况.这有点拉伸,但我们走了.
使用let x:Int的一个原因=如果你有一个重载函数,其中参数是不同的类型,只有一个是可选的.例如:
func doSomething(x: Int) { print("\(x) is an Int") } func doSomething(x: Int?) { print("\(x) is an optional") }
如果要确保调用第二个过载,则需要将参数明确地设置为可选的.
let y = 5 doSomething(y) // prints 5 is an Int let z: Int? = 6 doSomething(z) // prints Optional(6) is an optional
我现在还没有看到这样的东西.
关于苹果文档,这只是一个简单的例子.