Dart 学习笔记 (九) 库

158 阅读1分钟

Dart中的库主要有三种:

  1. 我们自定义的库
    import 'lib/xxx.dart';
  2. 系统内置库
    import 'dart:math';
    import 'dart:io'; import 'dart:convert';
import "dart:math";

main() {
  print(min(12, 23));
  print(max(12, 25));
}
//- 异步请求
import 'dart:io';
import 'dart:convert';


void main() async{
  var result = await getDataFromZhihuAPI();
  print(result);
}


//api接口: http://news-at.zhihu.com/api/3/stories/latest
getDataFromZhihuAPI() async{
  //1、创建HttpClient对象
  var httpClient = new HttpClient();  
  //2、创建Uri对象
  var uri = new Uri.http('news-at.zhihu.com','/api/3/stories/latest');
  //3、发起请求,等待请求
  var request = await httpClient.getUrl(uri);
  //4、关闭请求,等待响应
  var response = await request.close();
  //5、解码响应的内容
  return await response.transform(utf8.decoder).join();
}
  1. Pub包管理系统中的库
    pub.dev/packages pub.flutter-io.cn/packages pub.dartlang.org/flutter/
    1、需要在自己想项目根目录新建一个pubspec.yaml
    
    2、在pubspec.yaml文件 然后配置名称 、描述、依赖等信息
        name: xxx
        description: A new flutter module project.
        dependencies:  
            http: ^0.12.0+2
            date_format: ^1.0.6
            
    3、配置dependencies
    4、然后运行 pub get 获取包下载到本地  
    5、项目中引入库 import 'package:http/http.dart' as http; 看文档使用 

引入

重命名

//- as 表示重命名
import 'dart:convert' as convert;
import 'package:http/http.dart' as http;

部分引入

  如果只需要导入库的一部分,有两种模式:

     模式一:只导入需要的部分,使用show关键字,如下例子所示:

      import 'package:lib1/lib1.dart' show foo;

     模式二:隐藏不需要的部分,使用hide关键字,如下例子所示:

      import 'package:lib2/lib2.dart' hide foo;  

延迟加载

    也称为懒加载,可以在需要的时候再进行加载。
    懒加载的最大好处是可以减少APP的启动时间。

    懒加载使用deferred as关键字来指定,如下例子所示:

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

    当需要使用的时候,需要使用loadLibrary()方法来加载:

    greet() async {
      await hello.loadLibrary();
      hello.printGreeting();
    }