美文网首页
dart 语言 01

dart 语言 01

作者: fanchuang | 来源:发表于2019-10-08 17:10 被阅读0次

    基础部分

     1. dynamic name = 'Bob'; 表示一种动态类型
    2. 任何变量的初始值都是 null, 连boolean的初始值也是
    3. final or const, 都可以表示常量
    实例化子类的变量可以用final, 不能用 const,
    const, 是一个编译时的常量,可以用于等号的右边
    4. var list2 = [0, ...list1]; 表示串联2个数组
    var list2 = [0, ...?list1]; 问号表示不清楚list1是否为空
    5. 定义一个集合:
    Set<String> names2 = {};  或者:
    var names = <String>{};
    6. 定义一个字典:
    var gifts = Map();  或者:
    var gifts = {};
    7. String say(String msg, [String device]) {}
    把一个参数用用方括号包裹住, 表示是一个可选参数
    8. 计算符号
    ~/      地板除
    var a = 1; ++a; a = 2
    b = a++;  表示的是先把a的值赋给b, 然后b再+1
    ++a, 自增1, a++自己不变 
    9. is, is! 用于类型判断
    10. b ??= 3; 如果b为空, b=3, 否则,b的值不变
    11. || 或, && 并且
    12. 关于问号(其实是一种简写, 类似列表解析):
    condition ? expr1 : expr2, 一个问号, 根据条件真假赋值
    expr1 ?? expr2, 两个问号, 看表达式的第一句是否为空
    13. for 循环有2种写法都是可行的
    for (var i=0; i<5; i++){}
    for (var x in collection) {}
    14. rethrow;  部分错误被处理之后再次抛出 
    15. this 关键字, 指的是当前的实例
    16. 子类如果想要继承父类的构造器: 需要加上冒号,比如
    Employee.fromJson(Map data) : super.fromJson(data) {}
    

    2. 补充.

    1. assert(!identical(a, b)), 判断是否为同一个实例
    2. print('{a.runtimeType}'); 判断a的类型
    3. static do() {}, 静态方法(即类方法)不能被一个类的实例访问,
    同样地,静态方法内也不可以使用 this
    4. dart语言中的 <>, 表示 泛型, 表示数据类型,比如:
    List<String>, 指的是一个字符串类型的列表,
    也可以类来作为泛型参数.也可以自定义泛型的类型,<T>
    5. URI = [URL, <import 'something'>,...] ,是一种包含的关系
    6. import 'package:lib1/lib1.dart' show foo; 只显示foo
    7. import 'package:lib2/lib2.dart' hide foo; 除了foo之外的所有
    8. await 表达式的返回值通常是一个 Future 对象, (代表一个 承诺)
    
    

    相关文章

      网友评论

          本文标题:dart 语言 01

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