我对Dart很陌生,所以请原谅我。
我想创建一个联合类型,例如用于功能输入。在TS中为:
let variableInput: string | number
typedef并没有真正定义类型,但是函数和枚举也没有真正的帮助。
另一方面,当函数返回两种类型中的一种或另一种时,应该是什么样?一定是我在这里看不到的东西。
答案 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);
}
}