可空类型

可空类型(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)

  • 还没有评论,来抢沙发吧。