Hello world

​ 安装dart的环境就不赘述了,无脑安装就可以了,安装过程中好像需要梯子(vpn),我装的时候失败好多次,我的梯子不能用了,准备不装了的时候,莫名其妙的装好了。迷の操作。惯例,一门新的语言必须要传统一下。

main(){
print("hello world");
}

直接就输出了 “hello world”,没有那么多繁杂的语法。

变量类型

定义变量

main(){
var age=24; // 使用var来定义变量,会自动的识别类型
int Age=24; // 直接使用int来定义也可以
age="25"; // (报错)类型检验自动识别类型以后,第一次什么类型之后就是什么类型了
print(age);
}

定义常量

main(){
// 赋值一次后就不能改变了,称之为常量,(感觉我说的就是废话)
final age=23;
const Age=25;
print(Age);
print(age);
}

final与const的区别:final 可以开始不赋值 只能赋一次 ; 而final不仅有const的编译时常量的特性,最重要的它是运行时常量,并且final是惰性初始化,即在运行时第一次使用前才初始化。

main(){
final time=new DateTime.now();
const Time=new DateTime.now(); // 报错
print(time);
}

字符拼接

main(){
String name="kign";
String age= "23";
print(name +":"+ age);
print("${name}+:+${age}");
}

list的定义

main() {
List l1 = ["aaa", "bbb", "ccc"];
print(l1[1]);
List l2 = [
{'age': 12},
{"age": 34}
];
print(l2[0]["age"]);
var l3 = new List<String>();
l3.add("value");
l3.add("page");
print(l3[1]);
}

Map的定义

main() {
Map m1={"name":"张三","age":24,"work":["程序员","外卖员"]};
print(m1["work"]);
var p=new Map();
p["name"]="李四";
p["age"]=23;
p["work"]=["程序员","外卖员"];
print(p["age"]);
}

类型判断

main() {
var age = 25;
if (age is int) { // is关键字
print("int类型数据");
} else {
print("其它类型数据");
}
}

??运算符

​ 判断当前是否为空,为空则为??后的值,不为空则为当前赋值的值

main() {
var a;
var b = a ?? 10;
print(b); var c = 22;
var d = c ?? 10;
print(d);
}

输出:

10
22

??=运算符

​ 判断当前变量是否为空,为空则将运算符后的数值赋值给当变量

main() {
var a;
a??=23;
print(a); var b=10;
b??=23;
print(b);
}

输出:

23
10

类型转换

main() {
var a="12";
var b=double.parse(a);
print(b); var c="13";
print(c.toString());
}

集合循环

list

List myList=['香蕉','苹果','西瓜'];
// 最普通的循环
for(var i=0;i<myList.length;i++){
print(myList[i]);
}
// forEach
for(var item in myList){
print(item);
}
// forEach
myList.forEach((value){
print("$value");
});
// A数组扩大二倍赋值给B数组
List myList=[1,3,4];
List newList=new List();
for(var i=0;i<myList.length;i++){
newList.add(myList[i]*2);
}
print(newList);
// A数组扩大二倍给B数组
List myList=[1,3,4];
var newList=myList.map((value){
return value*2;
});
print(newList.toList());

list内容的判断

// 一
List myList=[1,3,4,5,7,8,9];
var newList=myList.where((value){ // 将数组中大于5的给予一个新数组
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的循环

main() {
var s=new Set();
s.addAll([1,222,333]);
s.forEach((value)=>print(value));
}

Map的循环

main() {
Map person={
"name":"张三",
"age":20
};
person.forEach((key,value){
print("$key---$value");
});
}

最新文章

  1. jQueryMobile示例页面代码
  2. Java方法调用中的别名处理
  3. HomeWork2
  4. NGINX location 在配置中的优先级
  5. 关于checkbox最保险和最模棱两可的方法
  6. POJ3687 Labeling Balls(拓扑排序\贪心+Floyd)
  7. 【转载】perl接受传递参数的方法
  8. CocoaPods的安装[转载]
  9. html5 canvas图片翻转
  10. 1.VS2010C++环境设置
  11. Objective-C 【从文件中读写字符串(直接读写/通过NSURL读写)】
  12. android编程常见问题-程序在模拟器中不显示
  13. 使用WMI来连接远端计算机
  14. css应用四
  15. Linux Ubuntu从零开始部署web环境及项目 -----快捷键设置(四)
  16. formidable 表单文件和数据提交
  17. [LeetCode] Subdomain Visit Count 子域名访问量统计
  18. 国网电表dlt645-2007抄表软件
  19. mybatis model属性注入多个对象 与model属性注入单个对象
  20. Linux init 0-6 启动级别

热门文章

  1. 无法启动iis express web服务器解决
  2. 微信小程序全局变量改变监听
  3. kuangbin专题 专题二 搜索进阶 Nightmare Ⅱ HDU - 3085
  4. JavaScript捕获与冒泡与委托
  5. 判断List中是否含有某个实体bean
  6. U盘被写保护大全解
  7. Bzoj 1537: [POI2005]Aut- The Bus 题解 [由暴力到正解]
  8. druid一步到位
  9. 解决jenkins 发送邮件图片乱码问题
  10. 记一次愚蠢的经历--String不可变性