这对我来说似乎是一个非常明显的问题,但我似乎找不到答案。
如何在Dart中编写函数类型。
我可以使用诸如ValueChanged<T>
或ValueSetter<T>
之类的罐头形式,但是如何定义它们呢?如何编写像T -> U -> V
答案 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