我可以说两个游戏项目:动物园1和动物园2.两个都有一个名为animal的类.为了避免两个具有相同名称的类之间的冲突,我将它们包装在函数中.Dart如何处理这种情况?通过包或库?用作命名空间的主类?如果是这样,那么它如何将它们转换为javascript?
Dart没有名称空间.您可以使用导入前缀
import 'package:zoo1/zoo1.dart' as zoo1;
import 'package:zoo2/zoo2.dart' as zoo2;
main() {
print(new zoo1.Animal());
print(new zoo2.Animal());
}
Run Code Online (Sandbox Code Playgroud)
您也可以仅为其中一个使用前缀
import 'package:zoo1/zoo1.dart';
import 'package:zoo2/zoo2.dart' as zoo2;
main() {
print(new Animal());
print(new zoo2.Animal());
}
Run Code Online (Sandbox Code Playgroud)
如果你想同时导入,但只希望使用Animal从zoo2那么你可以隐藏一个
import 'package:zoo1/zoo1.dart' hide Animal;
import 'package:zoo2/zoo2.dart';
main() {
print(new Animal()); // uses Animal from zoo2
}
Run Code Online (Sandbox Code Playgroud)
我假设JS总是使用一些前缀来消除歧义.
| 归档时间: |
|
| 查看次数: |
256 次 |
| 最近记录: |