• dart常用语法


    三个单引号或双引号可以写多行字符串
    main(){
    
      var str1 = "str1";
      var str2 = "str2";
    
      print(str1 + " " + str2);
      print("$str1 $str2");
    
      bool flag1 = true;
      bool flag2 = false;
    
      var list1 = ["张三", "李四", "王五"];
    
      var list2 = new List();
      list2.add("kobe");
      list2.add("James");
      list2.add("Jordan");
    
      print(list2[0] + list2[1]);
    
    
      
    
      var person1 = new Map();
      person1["james"] = 40;
      print(person1);
    
      var person2 = {"name" : "张三", "age" : 20};
    
      var person3 = new Map<String, int>();
    
      //判断类型使用 is 关键字
    
      var name = "aaa";
    
      if (name is String) {
    
        print("string类型");
      }else if (name is int) {
        print("int类型");
    
      }else{
        print("其他类型");
      }
    
    
    }

     字符串操作

    数组List常用的属性和方法:

    /*
    List里面常用的属性和方法:
    
        常用属性:
            length          长度
            reversed        翻转
            isEmpty         是否为空
            isNotEmpty      是否不为空
        常用方法:  
            add         增加
            addAll      拼接数组
            indexOf     查找  传入具体值
            remove      删除  传入具体值
            removeAt    删除  传入索引值
            fillRange   修改   
            insert(index,value);            指定位置插入    
            insertAll(index,list)           指定位置插入List
            toList()    其他类型转换成List  
            join()      List转换成字符串
            split()     字符串转化成List
            forEach     遍历
            map         元素处理
            where       条件筛选
            any         任何一个满足条件返回true
            every       每一个都要满足条件返回true
    
    */
    
    
    void main(){
    
      List myList=['香蕉','苹果','西瓜'];
      print(myList[1]);
    
    
      var list=new List();
      list.add('111');
      list.add('222');
      print(list);
    
    
    List里面的属性:
        List myList=['香蕉','苹果','西瓜'];
        print(myList.length);
        print(myList.isEmpty);
        print(myList.isNotEmpty);
        print(myList.reversed);  //对列表倒序排序
        var newMyList=myList.reversed.toList();
        print(newMyList);
    
    List里面的方法:
    
    
        List myList=['香蕉','苹果','西瓜'];
        myList.add('桃子');   //增加数据  增加一个
    
        myList.addAll(['桃子','葡萄']);  //拼接数组
    
        print(myList);
    
        print(myList.indexOf('苹x果'));    //indexOf查找数据 查找不到返回-1  查找到返回索引值
    
    
        myList.remove('西瓜');
    
        myList.removeAt(1);
    
        print(myList);
      
    
    
    
        List myList=['香蕉','苹果','西瓜'];
    
        myList.fillRange(1, 2,'aaa');  //修改
    
         myList.fillRange(1, 3,'aaa');  
    
    
        myList.insert(1,'aaa');      //插入  一个
    
        myList.insertAll(1, ['aaa','bbb']);  //插入 多个
    
        print(myList);
    
    
    
    
    
    
        List myList=['香蕉','苹果','西瓜'];
    
        var str=myList.join('-');   //list转换成字符串
    
        print(str);
    
        print(str is String);  //true
    
    
        var str='香蕉-苹果-西瓜';
    
        var list=str.split('-');
    
        print(list);
    
        print(list is List);
    
      
    
    
      
    
    
    }
    View Code

    集合Set

    //Set 
    
    //用它最主要的功能就是去除数组重复内容
    
    //Set是没有顺序且不能重复的集合,所以不能通过索引去获取值
    
    void main(){
    
      
      var s=new Set();
      s.add('香蕉');
      s.add('苹果');
      s.add('苹果');
    
      print(s);   //{香蕉, 苹果}
    
      print(s.toList()); 
    
    
      List myList=['香蕉','苹果','西瓜','香蕉','苹果','香蕉','苹果'];
    
      var s=new Set();
    
      s.addAll(myList);
    
      print(s);
    
      print(s.toList());
    
    
      
    }
    View Code

    字典map

    /*
      映射(Maps)是无序的键值对:
    
        常用属性:
            keys            获取所有的key值
            values          获取所有的value值
            isEmpty         是否为空
            isNotEmpty      是否不为空
        常用方法:
            remove(key)     删除指定key的数据
            addAll({...})   合并映射  给映射内增加属性
            containsValue   查看映射内的值  返回true/false
            forEach   
            map
            where
            any
            every
    
    
    */
    
    void main(){
    
     
      Map person={
        "name":"张三",
        "age":20
      };
    
    
      var m=new Map();
      m["name"]="李四";
      
      print(person);
      print(m);
    
    //常用属性:
    
        Map person={
          "name":"张三",
          "age":20,
          "sex":"男"
        };
    
        print(person.keys.toList());
        print(person.values.toList());
        print(person.isEmpty);
        print(person.isNotEmpty);
    
    
    //常用方法:
        Map person={
          "name":"张三",
          "age":20,
          "sex":"男"
        };
    
        person.addAll({
          "work":['敲代码','送外卖'],
          "height":160
        });
    
        print(person);
    
    
    
        person.remove("sex");
        print(person);
    
    
    
        print(person.containsValue('张三'));
    }
    View Code

    forEach, map, where, any, every使用

    /*
            forEach     遍历
            map         元素处理
            where       条件筛选
            any         任何一个满足条件返回true
            every       每一个都要满足条件返回true
    */
    void main(){
    
    
           List myList=['香蕉','苹果','西瓜'];
    
          //for循环 数组遍历
          for(var i=0;i<myList.length;i++){
            print(myList[i]);
          }
    
    
          for(var item in myList){
            print(item);
          }
    
          //forEach 数组遍历
          myList.forEach((value){
              print("$value");
          });
    
          myList.forEach((value)=>print(value));
        
        
    
    
    
          List myList=[1,3,4];
    
          List newList=new List();
    
          //for循环 数组中的每个元素增加2倍
          for(var i=0;i<myList.length;i++){
    
            newList.add(myList[i]*2);
          }
          print(newList);
    
    
    
    
    
          List myList=[1,3,4];   
    
          //map 数组中的每个元素增加2倍   
          var newList=myList.map((value){
              return value*2;
          });
           print(newList.toList());
    
    
    
    
    
          List myList=[1,3,4,5,7,8,9];
    
          //筛选数组中大于5的元素
          var newList=myList.where((value){
              return value>5;
          });
          print(newList.toList());
    
    
    
          List myList=[1,3,4,5,7,8,9];
    
          var f=myList.any((value){   //只要集合里面有满足条件的就返回true
    
              return value>5;
          });
          print(f);
    
    
    
          List myList=[1,3,4,5,7,8,9];
    
          var f=myList.every((value){   //每一个都满足条件返回true  否则返回false
    
              return value>5;
          });
          print(f);
    
    
    
    
    
    
          set
    
          var s=new Set();
    
          s.addAll([1,222,333]);
    
          s.forEach((value)=>print(value));
    
    
    
          //map
    
           Map person={
              "name":"张三",
              "age":20
            };
    
            person.forEach((key,value){            
                print("$key---$value");
            });
    
    
    }        
    View Code
  • 相关阅读:
    2019-9-2-C#枚举中使用Flags特性
    2019-9-2-C#枚举中使用Flags特性
    2019-8-31-C#-转换类型和字符串
    2019-8-31-C#-转换类型和字符串
    2019-8-31-C#-获取进程退出代码
    2019-8-31-C#-获取进程退出代码
    access truncate
    GIT分布式版本控制系统
    iSCSI的配置(target/initiator)
    chkconfig命令
  • 原文地址:https://www.cnblogs.com/jiefangzhe/p/13548869.html
Copyright © 2020-2023  润新知