有人可以解释我下面的代码(出现在Apple的Swift书的第11页):
var optionalString: String? = "Hello"
optionalString = nil
var optionalName: String? = "Einav Sitton"
var greeting = "HELLO!"
if let name = optionalName {
greeting = "Hello, \(name)"
}
Run Code Online (Sandbox Code Playgroud)
Swift需要显式声明可选的类型,因此第一个代码段是创建可空字符串的示例:
var optionalString: String? = "Hello"
optionalString = nil
Run Code Online (Sandbox Code Playgroud)
为了使用可以为空的字符串,需要实现它与!后缀一起使用,以便将a String?转换为String可以执行的操作:
var name : String = optionalName!
Run Code Online (Sandbox Code Playgroud)
但Swift还提供了在条件块内检查和实现可为空的简写,例如:
if let name = optionalName {
greeting = "Hello, \(name)"
}
Run Code Online (Sandbox Code Playgroud)
这与以下相同:
if optionalName != nil {
let name = optionalName!
greeting = "Hello, \(name)"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6327 次 |
| 最近记录: |