美文网首页
13.Dart-系统库, 自定义库引用

13.Dart-系统库, 自定义库引用

作者: 你的胡霸霸 | 来源:发表于2021-09-16 10:31 被阅读0次

/**

* Dart中的库只要有三种;

* 1.自定义库

*    import "lib/xxx.dart";

* 2.系统内资的库

*    import "lib/dart:math";

*    import "lib/dart:io";

*    import "lib/dart:convert";

* 3.Pub包管理系统中的库

*    https://pub.dev/packages

*    https://pub.flutter-io.cn/packages

*    https://pub.dartlang.org/flutter/

*    1.需要在自己项目根目录创建一个pubspec.yaml

*    2.在pubspec.yaml文件, 然后配置名称, 描述, 依赖等信息

*    3.然后运行pub get 获取下载到本地

*    4.项目中引入库 import 'package:http/http.dart' as http;

//  * 这一部分dart文档很详细

当引入两个库中又相同名称标识符的时候, 如果是java通常写上完整的包名路径来指定

Dart里面可以去一个别名

import "lib/Person1.dart";

import "lib/Person1.dart" as lib;

别名使用  lib.Person p = new lib.Person()

如果util.dart文件里面有多个方法, 直接使用import "lib/util.dart"引入了所有方法,在这个文件都可以使用这些方法

但是如果只想使用其中一个方法, 可以使用show 方法名, 来只引入指定的方法

import "lib/util.dart" show getTime;

*/

import "dart:math";

import 'dart:io';

import 'dart:convert';

import 'dart:convert' as convert;

// 这里顺便提一下异步方法,这个async 配和 await使用 和js的是一样的, async是异步方法, 在异步方法里面才能用await

void main() async {

  // var m = min(10, 20);

  // print(m);

  // var res = await getDataFromZhiHuApi();

  // print(res);

  // var r = await test();

  // print(r);

  // var rr = test();直接这么写是错误的,获取异步方法值需要用await来执行函数

}

getDataFromZhiHuApi() async {

  // 1.创建HttpClient对象

  var httpClient = new HttpClient();

  // 2.创建url对象

  var url = new Uri.http("news-at.zhihu.com", '/api/3/stories/latest');

  // 3.发起请求, 等待请求

  var request = await httpClient.getUrl(url);

  // 4.关闭请求等待响应

  var response = await request.close();

  // 5.解码响应内容

  return await response.transform(utf8.decoder).join();

}

// 关于async和await:

/**

* 这两个关键字的使用只需要记住两点;

*    只有async方法才能使用await关键字调用方法

*    如果调用别的async方法必须使用await关键字

* async是让方法变成异步

* await是等待异步方法执行完成

*/

// 创建一个异步方法

test() async {

  return "我是异步方法test";

}

相关文章

网友评论

      本文标题:13.Dart-系统库, 自定义库引用

      本文链接:https://www.haomeiwen.com/subject/vnqhwltx.html