Flutter

Dart基础6-库

2018-12-26  本文已影响17人  叶落清秋

1 导入

import

import 'dart:html'; // 导入 Dart 标准库(uri)

import 'com/hello.dart'  //导入com包下的hello文件

//防止对象重名
import 'com/a.dart';
import 'com/a2.dart' as a2; //a2.dart方法的名字和a.dart相同

main(){
    A a = A();          //使用a.dart中的A类
    a2.A a2 = a2.A();   //使用a2.dart中的A类
}

部分导入

import 'package:lib1/lib1.dart' show foo; //只导入lib1.dart的foo类

import 'package:lib2/lib2.dart' hide foo; //导入lib2.dart中除foo之外的类

懒加载库

按需加载,需要导入时,调用loadLibrary()即可

import 'package:greetings/hello.dart' deferred as hello;

//使用需要loadLibrary()
Future greet() async {
  await hello.loadLibrary();
  hello.printGreeting();
}

import各文件是互相不可见的,如果在A库中import了B库,B库import了C库,A库是没有办法直接使用C库的对象的

2 拆分

partpart of

// 在 math.dart 文件中
library math;
part 'base.dart';
part 'random.dart';

// 在 base.dart 文件的开头
part of math;

// 在 random.dart 文件的开头
part of math;

//实际使用单个方法时必须引入math.dart

part各文件是互知存在的,是一个整体,所有对象是共享的(各部分不许重复引入)

3 库名

library 标识

library material; //标示符定义当前库的名字

import 语句用的是 URI 而不是库的名字

4 导出

export

多个较小的库组合为一个较大的库或者重新导出库的一部分作为一个新的库

export各文件是互相不可见的,如果在A库中export了B库、C库,A库是包含B、C库的全部的

//material.dart        这是一个组合库,建议不要在其中有功能代码  
library material;

export 'src/material/about.dart';
export 'src/material/animated_icons.dart';
export 'src/material/app.dart';
export 'src/material/app_bar.dart';
上一篇下一篇

猜你喜欢

热点阅读