Dart学习

2019-11-09  本文已影响0人  壹点微尘

1.数字类型

   num num1 = -1.0; //是数字类型的父类,有两个子类 int 和 double。
   num num2 = 2;
   int int1 = 3; //只能是整数
   double d1 = 1.68; //双精度)浮点数
   print("num:$num1 num:$num2 int:$int1 double:$d1");
   print(num1.abs()); //求绝对值
   print(num1.toInt()); //转换成int
   print(num1.toDouble()); //转换成Double

2.字符串

    String str1 = '字符串', str2 = "双引号"; //字符串定义
    String str3 = 'st1:$str1 str2:$str2'; //字符串拼接
    String str5 = '常用数据类型,请看控制台输出';
    String str4 = 'st1:' + str1 + ' str2:' + str2; //字符串拼接
    print(str3);
    print(str4);
    //常用方法
    print(str5.substring(1, 5)); //字符串截取
    print(str5.indexOf('类型')); //获取指定字符串位置
    //作业:startsWith,replaceAll,contains,split等

3. 布尔类型,Dart 是强 bool 类型检查,只有bool 类型的值是true 才被认为是true

    bool success = true, fail = false;
    print(success);
    print(fail);
    print(success || fail); //true
    print(success && fail); //false

4.List集合

///集合初始化的方式
    List list = [1, 2, 3, '集合']; //初始化时,添加元素
    print(list);
    List<int> list2 = [];
    // list2 = list;//错误做法,类型转换错误
    List list3 = [];
    list3.add('list3'); //通过add方法添加元素
    list3.addAll(list);
    print(list3);
    List list4 = List.generate(3, (index) => index * 2);
    print(list4);

    ///遍历集合的方式
    for (int i = 0; i < list.length; i++) {
      print(list[i]);
    }
    for (var o in list) {
      print(o);
    }
    list.forEach((val) {
      print(val);
    });
    //作业
    //list.removeXx,insert,sublist,indexOf等

5.map是将key和value相关联的对象,key和value都可以是任何类型的对象,并且key是唯一的如果key重复后面添加的key会替换前面的

    ///Map初始化
    Map names = {'xiaoming': '小明', 'xiaohong': '小红'};
    print(names);
    Map ages = {};
    ages['xiaoming'] = 16;
    ages['xiaohong'] = 18;
    print(ages);

    ///Map遍历
    ages.forEach((k, v) {
      print('$k $v');
    });
    Map ages2 = ages.map((k, v) {
      //迭代生成一个新Map
      return MapEntry(v, k);
    });
    print(ages2);
    for (var key in ages.keys) {
      print('$key ${ages[key]}'); // 注意:此处字符串拼接, 如果是表达式的话, 表达式要放在{}中, 如:${ages[key]}
    }
    //作业
    //keys,values,remove,containsKey

6. dynamic、var、Object三者的区别

    dynamic x = 'hal';
    print(x.runtimeType);
    print(x);
    x = 123;
    print(x);
    print(x.runtimeType);
    var a = 'hal';
    //a = 123;//你可以改变 x的类型,但是无法改变 a的类型
    print(a.runtimeType);
    print(a);
    Object o1 = '11';
    print(o1.runtimeType);
    print(o1);
上一篇下一篇

猜你喜欢

热点阅读