一、Dart入口
1.main()方法
main(){
print('!');
}
2.表示main()方法没有返回值
void main(){
print('!');
}
2.注释
/* */
//
3.变量和常量
(1)变量
可以不预先定义类型,自动会类型推导
var和类型不同时存在
Q:运行时选中所有的代码,所有的输出语句才能全部输出,否则只输出第一句
(2)常量
const值不变,一开始就得赋值
final可以开始不赋值,只能赋值一次(比const强大)
区别
const是编译时的常量
final不仅有const编译时的特性,也是运行时的常量,在使用时初始化
const a = new DateTime.now();//错误
二、数据类型
1.Numbers
(1)int
(2)double
double b=24.3
double b=23
2.String
String str = 'Hello';
String str = "Hello";
3.Bool
4.List(数组/集合)
(1)第一种定义List的方式
var L1=["Marry",20,true];
print(L1);
//output:["Marry",20,true]
print(L1.length);
//output:3
print(L1[0]);
//output:Marry
(2)第二种定义List的方式(指定类型)
var L2=<String>["Marry","Bob"];
print(L2);
//output:["Marry","Bob"]
(3)第三种定义List的方式(增加数据)
通过[ ]创建的集合容量可变!长度可变!
var L4[];
print(L4);
print(L4.length);
//output:[],0
//增加数据
L4.add("Marry");
L4.add("Bob");
L4.add(14);
print(L4);
print(L4.length);
//output:[Marry,Bob,14],3
var L5=["Marry",20,true];
L5.add("Bob");
print(L5);
//output:[Marry,20,true,Bob]
(4)第四种定义List的方式
var L6 = new List();//最新版本dart不能使用
var L7 = List.filled(length,fill);//创建一个固定长度的集合,不能增加数据
eg:
var L7 = List.filled(2,"");
print(L7);
print(L7[0]);
//output:[, ],空
L7[0]="Marry";//修改集合里的内容
L7[1]="Bob";
print(L7);
//output:[Marry,Bob]
//因为L7这个集合长度为2,所以不能再增加数据
L7.length = 0;//会报错,长度没办法修改
5.Maps
(1)第一种定义Maps的方式
var person={
"name":"Marry";
"age":20
"work":["程序员","外卖员"]//可以是集合
};
print(person);
print(person["name"]);//单引号或者双引号都可
print(person["work"]);
//output:{name:Marry,age:20}
//output:Marry
//output:[程序员,外卖员]
(2)第二种定义Maps的方式
var person = new Map();
p["name"] = "Marry";
p["age"] = 20;
p["work"] = ["程序员","外卖员"];
print(person);
//output:{name:Marry,age:20,work:[程序员,外卖员]}
三、类型的判断
** is 关键词判断类型**
var s = '1234';
if(s is String){
pritf("是string类型");
}else if(s is int){
print(是int类型)
}