可空类型(Nullable types)是在一些编程语言中允许出现NULL值的数据类型,用于表示缺失值()或无效值,如函数执行失败的返回值,或SQL的NULL。静态类型语言中,可空类型是可选类型。动态类型语言(即值有类型,但变量没有类型)中等价于单个空值。
原始类型如整型和布尔类型不能有空值,但有对应的可空类型(可空整型或可空布尔类型)。
语言支持
支持可空类型的编程语言:
支持原生空值的静态类型语言:
*
*C# (从版本2)可声明可空整型,如int? x.
- Dart
- Kotlin
- Swift
*PHP
*
- SQL
- SAS (Missing value)
使用库支持空值的静态类型语言:
- C#版本1.0,使用外部库可定义可空类型如NullableInteger, NullableBoolean。
- Visual Basic .NET
- Java (从版本8)
- Scala
*
- F#
- 静态类型的
支持空值的动态类型语言:
- Perl的标量类型的缺省值为undef,也可赋值为undef
- PHP有NULL类型和is_null()方法,从版本7.1开始有原生的可空类型
- Python有None值
- Julia有nothing值(属于类型Nothing)和Union{T, Nothing}类型
- Ruby有nil值和NilClass类型
- JavaScript有null值
参见
- 空值结合运算符
- Union类型
- 单值类型
参考文献
评论 (0)