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

}

  

posted @ 2024-06-13 11:53  飞雪飘鸿  阅读(2)  评论(0编辑  收藏  举报
https://damo.alibaba.com/ https://tianchi.aliyun.com/course?spm=5176.21206777.J_3941670930.5.87dc17c9BZNvLL