一文看完dart语法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | 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' ); //匿名函数重构结束 } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2022-06-13 数据库日志文件ldf过大解决方案