dart / bool null安全

lnlaulya  于 2023-04-09  发布在  其他
关注(0)|答案(1)|浏览(126)
double calculateArea(double width, double height, [bool isTriangle]) {
  double area;
  if (isTriangle) {
    area = width * height / 2;
  } else {
    area = width * height;
  }
  return area;
}

void mian() {
  double result = calculateArea(12, 5, false);
  print('The result for a rectangle is' + result.toString());
  result = calculateArea(12, 5, true);
  print('The result for a rectangle is' + result.toString());
}

却找不到理由。
我在布尔前面放了一个?

wwtsj6pe

wwtsj6pe1#

由于isTriangle是一个可选参数,它可以:

  • 必须通过声明为[bool? isTriangle]来为空。因此,稍后需要检查isTriangle是否为null。例如:if (isTriangle ?? false)
  • 或必须具有非null的默认值。例如:[bool isTriangle = false]

我推荐阅读Understanding null safety,它解释了这一点。

相关问题