如何在Dart中编写函数类型

时间:2018-07-09 00:39:53

标签: dart

这对我来说似乎是一个非常明显的问题,但我似乎找不到答案。

如何在Dart中编写函数类型。

我可以使用诸如ValueChanged<T>ValueSetter<T>之类的罐头形式,但是如何定义它们呢?如何编写像T -> U -> V

这样的常规函数​​类型

1 个答案:

答案 0 :(得分:-1)

如果我正确理解了您的问题,则认为您是在泛型类型。当您不确定函数将使用哪种类型以避免代码重复时,这些函数将使用这些类型。例如,假设您有一个带有将数字存储在List中的方法的类:

class StoreInt {
  storeInList(int value);
}

但是稍后,您决定现在希望它存储字符串,因此您可以创建另一个类:

class StoreString {
   storeInList(String value);
 }

泛型允许您编写一次此类并使用它存储所需的任何类型的对象:

class Store<T> {
  storeInList(T value);
}

据我所知,您不是在dart中创建泛型,而是只需在钻石运算符之间指定一个字母,如上例所示。

您可以在此处找到有关泛型的更多信息:https://www.dartlang.org/guides/language/language-tour#generics