一文看完dart语法
main(){ var pi=3.14;//变量 //dynamic a;//静态类型 int a=42;//整数 double b=3.15;//浮点数 bool c=true;//布尔数 String e='答案'; pi+=106%50; const f=4.10;//不改变的值,编译时已知 final String g='JJ';//不改变的值,不能被重新分配 String? m=null;//创建空值 var h=m??'none';//判断m是否为空,为空则返回none print(h?.length);//嵌套表达式?.length保护访问对象 /*多行注释:4中控制流 条件句,循环,中断*/ var j="fox"; //if判断开始 if (j=='dog'||j=='cat'){ print("不是dog或cat"); }else if(j=='fox'){ print('是fox'); }else{ print('是其它'); } //if判断结束 //while循环开始 var i=1; while(i<5){ //print(i); i++; } //while循环结束 //do while循环开始 var p=1; do{ print(p); p++; }while(i<5); //do while循环结束 //继续和中断 开始 continue 和 break 关键字 i=1; do{ print(i); if(i>5){ //continue; break; } ++i;//i++先做别的事,再自己加1,++i先自己加1,再做别的事情, i++ 不能作为左值,而++i 可以 }while(i<10); //继续和中断 结束 //for循环开始 var sum=0; for(var i=1;i<10;i++){ sum+=i; } print("总和$sum"); //for循环结束 //集合开始 List 和 Map 的collections List mylist=[0,'a',2,99]; print(mylist[1]);//读取列表第二个元素 mylist.add(100); mylist.remove('a'); print(mylist[1]);//增减后再次读取列表第二个元素 //循环读取列表 for(final mylist in mylist){ print(mylist); } //集合结束 //配对值Map列表开始,创建Map var gifts = { // 键: 值 'first': 'partridge', 'second': 'turtledoves', 'third': 'golden rings' }; print(gifts);//打印Map //配对值列表结束 //第二种地图配对值开始 Map<String, int> xwMap = { 'cake': 500, 'donuts': 150, 'cookies': 100, }; print(xwMap);//打印Map //查找Map值 final xwa = xwMap['donuts']; print(xwa); // 150 //添加新元素 xwMap['cookies']=1989; print(xwMap); //第二章地图配对值结束 /*Functions开始函数*/ //定义函数 判断给定字符是否为香蕉 bool myfun(String myarg1){ return myarg1=='banana'; } //使用函数 var myarg2='apple'; print(myfun(myarg2)); /*Functions结束函数*/ //嵌套函数和可选参数开始 String fullname(String first,String last,[String?title]){ if(title==null){ return '$first $last'; }else{ return '$title,$first $last'; } } //调用参数 print(fullname('xiong','wei')); //嵌套函数和可选参数结束 //多个参数,可选,开始 bool withinTolerance({required int value, int min=0, int max=10}) { return min <= value && value <= max; } //调用函数 print(withinTolerance(min:1, max:5, value:11)); // false //多个参数,可选,结束 //匿名函数开始。1、没有参数和返回值 final onPressed = () { print('button pressed'); }; //匿名函数结束 //匿名函数重构开始 refactored final refactoredFun = () => print('refactored'); //匿名函数重构结束 }