前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Dart学习笔记(六)——库

Dart学习笔记(六)——库

作者头像
拉维
发布2019-08-12 15:57:05
4140
发布2019-08-12 15:57:05
举报
文章被收录于专栏:iOS小生活iOS小生活

自定义库

我们可以将一组功能提取成一个独立的dart文件,这就是dart的自定义库。

系统内置库

第三方库

我们可以从下面网址找到要用的库:

代码语言:javascript
复制
 https://pub.dev/packages
 https://pub.flutter-io.cn/packages
 https://pub.dartlang.org/flutter/

找到对应的库之后,我们首先创建一个pubspec.yaml文件,内容如下:

代码语言:javascript
复制
    name: xxx
    description: A new flutter module project.
    dependencies:  
        http: ^0.12.0+2
        date_format: ^1.0.6

然后将所需导入的库的信息配置到dependencies。

然后在终端运行 pub get 命令获取远程库。

然后看文档引入库进行使用。

引入库的冲突

当引入的两个库具有相同的名称标识符的时候,会造成冲突。这个时候就可以使用as关键字来指定库的前缀。

比如,Person1.dart文件中定义了Person类:

代码语言:javascript
复制
class Person{
  String name;
  int age; 
  //默认构造函数的简写
  Person(this.name,this.age);

  Person.setInfo(String name,int age){
    this.name=name;
    this.age=age;
  }

  void printInfo(){   
    print("Person1:${this.name}----${this.age}");
  }
}

Person2文件中也定义了Person类:

代码语言:javascript
复制
class Person{
  String name;
  int age; 
  //默认构造函数的简写
  Person(this.name,this.age);

  Person.setInfo(String name,int age){
    this.name=name;
    this.age=age;
  }

  void printInfo(){   
    print("Person2:${this.name}----${this.age}");
  }
}

然后在某文件中同时引入Person1.dart和Person2.dart的时候就会导致冲突。这是就可以给其中一个库文件指定前缀:

代码语言:javascript
复制
import 'lib/Person1.dart';
import 'lib/Person2.dart' as lib;

然后使用如下:

代码语言:javascript
复制
main(List<String> args) {
  Person p1=new Person('张三', 20);
  p1.printInfo();

  lib.Person p2=new lib.Person('李四', 20);
  p2.printInfo();
}

部分导入

如果我们只需要导入库的一部分,那么有两种方式:

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

代码语言:javascript
复制
import 'package:lib1/lib1.dart' show foo;

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

代码语言:javascript
复制
import 'package:lib2/lib2.dart' hide foo;

以上

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 iOS小生活 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档