Dart 中async ,await 和 with(多继承), 导入三方包
  W0unr07JNJnB 2023年11月02日 62 0


Dart 中async ,await 和 with(多继承), 导入三方包_Dart

 

 

Dart相关笔记

dart with多继承

with也被称之为mixins

mixins使用的条件,随着Dart版本一直在变,这里讲的是Dart2.x中使用mixins的条件:

  • 只能继承自Object,不能继承其他类
  • 不能有构造函数
  •   3、一个类可以mixins多个mixins类
  • 是一种全新的特性
class A {
  String info="this is A";
  void printA(){
    print("A");
  }
}

class B {
  void printB(){
    print("B");
  }
}

class C with A,B{
  
}

void main(){
  var c=new C();  
  c.printA();
  c.printB();
  print(c.info);
}

mixins实例类型
案例 :mixins的类型就是其超类的子类型。

class A {
  String info="this is A";
  void printA(){
    print("A");
  }
}

class B {
  void printB(){
    print("B");
  }
}

class C with A,B{
  
}

void main(){  
  var c=new C();  
 
  print(c is C);    //true
  print(c is A);    //true
  print(c is B);   //true

  // var a=new A();
  // print(a is Object);
}

在这其中c是子类,而AB类是父类,C类也可以称之为超类的子类型

async和await

async :表示异步,是让方法变成异步
await  : 同步,是等待异步方法执行完成

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

  1. 只有async方法才能使用await关键字调用方法
  2. 如果调用别的async方法必须使用await关键字
void main() async{
  var result = await testAsync();//等待异步执行完成后获取Hello async
  print(result);
}

//异步方法
testAsync() async{
  return 'Hello async';
}

如果在main方法获取异步方法而不使用await去获取这是会出现错误的。可以自己试一试!

Dart导入第三方包

在Dart中包是托管到,Pub包管理系统库

从下面网址找到要用的库

  1. https://pub.dev/packages
  2. https://pub.flutter-io.cn/packages
  3. https://pub.dartlang.org/flutter/

比如导入 http相关的库  ,通过https://pub.dev/packages/网站找到对应的http库

Dart 中async ,await 和 with(多继承), 导入三方包_flutter_02

在这个网站中可以查到被人写好的一些库,也称之为模块

包的导入

第一步、首先需要创建一个.yanlpubspec.yaml文件,内容如下

name: xxx  //名字,可以随意去
    description: A new flutter module project.  //描述
    dependencies:    //依存关系
        http: ^0.12.0+2  
        date_format: ^1.0.6

Dart 中async ,await 和 with(多继承), 导入三方包_异步方法_03

将此包用作库

1. Depend on it

将此添加到包的pubspec.yaml文件中:

dependencies:
  http: ^0.12.2

2. 安装

您可以从命令行安装软件包:

with pub:

$ pub get

with Flutter:

$ flutter pub get

或者,您的编辑器可能支持pub get或Flutter pub get。 查看您的编辑器文档以了解更多信息。

3. 导入

现在,在Dart代码中,您可以使用:

import 'package:http/http.dart';
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  b1UHV4WKBb2S   2023年11月13日   40   0   0 裁剪ideflutter
  b1UHV4WKBb2S   2023年11月13日   29   0   0 flutterDart
W0unr07JNJnB