在 Dart 中何时使用部分/部分与导入/导出?

2023-12-13

我不完全理解之间的区别part/part of and import/export在 Dart 中使用库时。例如:

one.dart:
library one;
part "two.dart";
Class One {
};

and

two.dart:
part of one;
import 'somefile.dart';
Class Two {
}

versus

library one;
import 'two.dart';
Class One {
}

and

library two;
import 'somefile.dart';
export 'somefile.dart';
Class Two {
}

这两种情况似乎都在做同样的事情。什么时候使用比较有利part and part of而不是import?是否有这样的场景import不会起作用,但是part and part of will?


更新2018/03

part and part of最近越来越多地用于代码生成场景(而不是已弃用的转换器),并且不太可能很快消失。

类似的套餐built_value, json_serializable,还有许多其他依赖于它。

不鼓励的只是这样一种模式:通过将一个库文件和所有其他文件作为该库的一部分,将包的所有文件绑定到一个库。

original

在 Dart 中,可以在同一库中访问私有成员。和import您导入一个库并且只能访问其公共成员。和part/part of您可以将一个库拆分为多个文件,并且这些文件中的所有代码都可以访问私有成员。

请参阅上面更新中以下段落的说明

Using part / part of令人沮丧,Dart 团队正在考虑摆脱它。我想他们会介绍像“朋友”这样的东西(https://github.com/dart-lang/sdk/issues/22841),两个库可以在停止之前访问彼此的私有成员作为替代方案part / part of(也许在未来的 Dart 版本中)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Dart 中何时使用部分/部分与导入/导出? 的相关文章

随机推荐