问题描述
我在整个飞镖库和Flutter库中看到了多种形式的 typedef ,但是我不太理解。在frame.dart中有以下示例:
I see multiple forms of typedef throughout dart and flutter libraries, but I can't quite make sense of it. There's this example in framework.dart:
typedef ElementVisitor = void Function(Element element);
有一个示例():
typedef String Join(String a, String b);
我不太了解它们的用途。也许这与为什么我找不到功能的定义有关。 Dart或Flutter库中的任何位置。但是再一次,我可以在framework.dart文件中找到其他typedef就可以了。
I don't quite understand the difference of their uses. Maybe this has something to do with why I can't find the definition of "Function" anywhere in the Dart or Flutter libraries. But then again I can find other typedef's just fine in the framework.dart file.
推荐答案
文档引用
通常有一种新的 typedef
方式:新方式更清晰,
in general: the new way is a bit clearer and more readable.
详细信息:
typedef G = List<int> Function(int); // New form.
typedef List<int> H(int i); // Old form.
以及
使用两种方式表示同一件事的原因是,新表单无缝地覆盖了非泛型函数和泛型函数,并且开发人员可能更喜欢在各处使用新表单以进行改进可读性。
typedef I<T> = List<T> Function(T); // New form.
typedef List<T> J<T>(T t); // Old form.
I<int> myFunction(J<int> f) => f;
更多
这篇关于现在有两种在Dart中使用typedef的方法吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!