首页 > 试题广场 >

Swift 2.0 or later 思考下面的代码:

[问答题]

Swift 2.0 or later

思考下面的代码:

1
2
var optional1: String? = nil
var optional2: String? = .None

nil 和 .None有什么不同?optional1和optional2有什么不同?

推荐

两者没有什么不同。Optional.None(简称.None)是optional变量值初始化的标准方法,而nil只是.None语法的一种修饰。事实上下面语句输出是正确的:

1
2
nil == .None // On Swift 1.x this doesn't compile. You need Optional
.None

记住枚举类型的Optional下的None:

1
2
3
4
enum Optional{
case None
case Some(T)
}
发表于 2018-07-12 20:38:59 回复(0)