关于nil null一些小知识

1.OC中的nil Nil NULL NSNull

nil:是指OC中"对象"的空指针,所以基本数据类型和结构体不能设置为nil。
Nil: 是指OC中类的空指针,比如Class myClass = Nil;
NULL: 是指其他类型的空指针,比如说C类型的空指针。
NSNull: 表示一个空对象,但是它是有指针地址的,一般用于不能用nil的场合。比如数组中字典中不能添加nil,但是可以添加[NSNull null]对象表示空值

OC中数组和字典都不能添加nil

2.Swift中的nil

表示值缺失,可以修饰任意数据类型。
数组:如果数组中的元素是可选值,例如[String?],那么数组就可以添加nil
字典:如果字典的key或者value声明成可选值,那么也是可以为nil的,只是value为nil的时候,字典就不存储这个key-value了

3.Dart中的null

所有的非null对象判断是为true
Dart中数组字典可以存储null,同时map的key和value都可以为null(同时为null也可以)

4.php中的null

表示无值 注意NULL跟null在php中是一样的
PHP中数组字典可以存储null,同时map的key和value都可以为null(同时为null也可以),但是key为null时php会将key转换成""空字符串。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。