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转换成""空字符串。
网友评论