var optionalname: String? = "QUAN"
let name1 = optionalname
var greeting1 = "Hello, \(name1)"
print(greeting1)
if let name2 = optionalname {
var greeting2 = "Hello, \(name2)"
print(greeting2)
}
print(greeting1)给出:
"您好,可选(" QUAN")\ n"
print(greeting2)给出:
"你好,QUAN \ n"
有人可以帮助我解释差异背后的原因吗?谢谢!
答案 0 :(得分:0)
如果您的值是可选的(?),则表示不必有值(它可以为空且没有错误)。如果您的值为non-optional
,则代码将失败。苹果有一篇关于此的文章:https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/OptionalChaining.html
这就是苹果对选项的说法:
可选链接是查询和调用属性的过程, 方法,以及当前可能为nil的可选项的下标。