Swift在有条件的情况下展开可选

时间:2016-11-06 18:42:46

标签: swift optional

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"

有人可以帮助我解释差异背后的原因吗?谢谢!

1 个答案:

答案 0 :(得分:0)

如果您的值是可选的(?),则表示不必有值(它可以为空且没有错误)。如果您的值为non-optional,则代码将失败。苹果有一篇关于此的文章:https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/OptionalChaining.html

这就是苹果对选项的说法:

  

可选链接是查询和调用属性的过程,   方法,以及当前可能为nil的可选项的下标。