我来自于Java/Android的背景,我们使用NULL
。现在我在做Swift/iOS,对于Swift的nil
表示仍然感到困惑。
我能像在Java中使用NULL那样使用它吗?它是否完全相同或其用法存在某些区别?
Swift目前不支持null合并运算符。
Swift中的nil解释
nil
表示“没有值”。即使是类,非可选变量也不能被赋值为nil
,因此它明确不是null
指针,也不类似于它。
我建议您阅读有关Swift中可选项的更多信息。
Optional
是一个枚举类型,nil
只是更快捷的打法,表示 Optional.None
。 - Jack Lawrencenull
是一种类型,可以转换为任何非基本引用类型;nil
也可以转换为任何引用类型,前提是它被声明为可选项。主要区别更多地涉及变量的设置,而不是空值。总的来说,null/nil大致相同(缺少值,不是0),但它们可以分配的规则在Java和Swift之间略有不同。 - vol7ron