var firstName: String = “John Appleseed” if let name = firstName { print (“Hello, (name)”) }
第二行出现字符串错误:条件绑定的初始化程序必须具有可选类型,而不是’String’
如何决定使用可选变量还是非可选变量?
首先,让我们考虑一下if let构造的含义。当你写
if let
if let name = firstName { print ("Hello, \(name)") }
你告诉斯威夫特你想
firstName
name
"Hello, \(name)"
换句话说,此构造用于处理可选变量的展开。然而,变量firstName是 不 可选的; 没有什么可解开的,导致Swift抱怨。