- 外部库的完全导入与不完全导入
- 导入新的库对变量命名空间的影响
- 库的拆分——part
导入
完全导入
我们假定需要在A库里使用B库的某些方法,我们需要将B库import进A库。这是我们十分熟悉的。
import ‘B.dart’;
不仅如此,dart的导入语句还适用于任意url。我们可以使用网络上的某个资源(dart文件)作为外部库导入。
import ‘http://hello/hello.dart’;
但是我们不推荐这样做。因为网络资源随时可能会发生变化。一旦改变,我们的程序将会被破坏。
真正严谨的做法是:
import’package:hello/hello.dart’;
使用 package:导入方式会执行一个常驻的封装了代码位置信息的包管理器。
一个库可以使用的全部对象包括这个库本身声明的,以及通过导入语句从其他库导入的。在dart:core中定义的对象是隐式导入的。而一个库对外可使用的对象称为库导出的命名空间。
理论上一个库的命名空间中不应有名称相同的两个对象,否则你需要使用别名。
import ‘test2.dart’
class Test{
static final hello = new Test();
}
class Test2{
static final hello = new Test2();
Test2 _test = new Test2();
}
在这段代码中,Test2被import进了Test库,我们在test库中是无法看到Test2的私有变