本文介绍了现在有两种在Dart中使用typedef的方法吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在整个飞镖库和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的方法吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 11:20