📜  dart 调用可空函数 - Dart (1)

📅  最后修改于: 2023-12-03 14:40:37.106000             🧑  作者: Mango

Dart调用可空函数

在Dart中,函数可以被标记为可空,也就是说它们可以返回一个空值null。这对于编写可靠的代码非常重要,因为程序员可以从函数中获取一些特定的信号,表明函数未返回任何有用的值。

声明可空函数

声明可空函数在Dart中非常简单,只需要使用'?'标记即可。例如:

int? getLength(String? str) {
  if (str == null) {
    return null;
  }
  return str.length;
}

在此示例中,'getLength'函数需要一个字符串作为参数,它可以为空。如果传递的字符串是空的,函数会直接返回null。否则,函数将返回字符串的长度作为整数。因此,返回类型int被标记为可空int?。

调用可空函数

调用可空函数也很容易。只需要处理特殊的情况即可。例如,我们可以使用'.?'操作符(也称为“安全调用”操作符)来调用可空方法:

String? str;
int? length = str?.length;
print(length); //输出: null

在此示例中,我们称str?.length为安全调用,因为我们不知道str是否包含有效值。如果str为空,那么安全调用操作符将返回空值null。

我们还可以使用null判断操作符('??')来提供默认值。例如:

String? str;
int length = str?.length ?? 0; // 如果str为空,则返回0
print(length); //输出: 0

在这个例子中,如果str为空,那么null判断操作符('??')将返回0,否则它将返回字符串的长度。

总之,在Dart中声明和调用可空函数非常简单。只需要添加'?'标记,就可以让它们返回空值。在调用可空函数时,我们可以使用'.?'和'??'操作符来处理空值。这使得我们能够编写更加鲁棒的代码。