Dart - 循环导入

R. *_*nan 13 circular-dependency dart flutter

在其他语言(如 Python、Go、C# 等)中,循环导入是一个问题,程序无法运行。然而,Dart 似乎解决了这个问题,不同的 Dart 文件可以相互导入。我很好奇 Dart 如何处理这个问题,并想知道是否有任何问题。

我尝试在网上搜索,但找不到任何有意义的信息。

FDu*_*hen 5

通常,使用多通道编译器的语言允许循环依赖

其背后的逻辑是编译器多次解析和分析代码,并在每个阶段之后生成中间代码。

关于 Dart,VM 提供了即时 (JIT) 和提前 (AOT) 编译器,如此处所述,它们也适用于中间代码。
我没有玩过 Dart 的编译器,但我猜实现的逻辑是多通道编译器之一