一文看完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');
//匿名函数重构结束
 
}

  

posted @   飞雪飘鸿  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2022-06-13 数据库日志文件ldf过大解决方案
https://damo.alibaba.com/ https://tianchi.aliyun.com/course?spm=5176.21206777.J_3941670930.5.87dc17c9BZNvLL
点击右上角即可分享
微信分享提示