单个变量的多种类型(参数/返回类型)

时间:2020-04-01 10:07:32

标签: dart

我对Dart很陌生,所以请原谅我。

我想创建一个联合类型,例如用于功能输入。在TS中为:

let variableInput: string | number

typedef并没有真正定义类型,但是函数和枚举也没有真正的帮助。

另一方面,当函数返回两种类型中的一种或另一种时,应该是什么样?一定是我在这里看不到的东西。

1 个答案:

答案 0 :(得分:1)

Dart中有 no 联合类型

在Dart中执行此操作的方法是返回/接受dynamic作为类型:

dynamic stringOrNumber() { ... }

void main() {
  final value = stringOrNumber();

  if (value is String) {
    // Handle a string value.
  } else if (value is num) {
    // Handle a number.
  } else {
    throw ArgumentError.value(value);
  }
}

另请参阅:https://dart.dev/guides/language/sound-dart