了解比较可选字符串

时间:2018-09-16 11:03:35

标签: swift

我正在使用以下代码:

let optionalString:String? = ""
print(optionalString == nil)

可选的String包含一个空值。但是,在比较时,它会打印false。我不明白为什么在运行程序时会出现这种情况。有人可以解释为什么会这样吗?

3 个答案:

答案 0 :(得分:5)

""不是一个nil

let optionalString:String?=""

如果您这样声明它

var optionalString:String?

答案 1 :(得分:3)

Swift中的可选是一种可以容纳包装值

的类型
var name:String? 
var name:String? = nil

name的类型是可选的,并且可以具有String值或nil值
现在的名字是

name = ""

name是具有此“”值的可选字符串

注意:“”是一个值,是一个空字符串,不是nil,而是“”!=“”!=“”,等等

答案 2 :(得分:0)

如果要将字符串实例化为null,则应将其声明为

var optionalString: String? = nil

将其创建为let几乎没有意义,因为您将实例化一个永远无法更改的nil值。