final name = ‘Tom’;
const num = 200000;
**基本类型**
1. int和double是num子类,没有float类型;
2. 支持字符串模板,用${expression}的方式来实现字符串效果,类似如字符串拼接;
3. String可以使用单引号或者双引号;
4. Dart没有数组,只有列表;
5. 其中List,Set,Map不是抽象接口,是具体实现类,可直接使用;
6. Map的key没有指定类型,key类型不一致不会报错;key不能相同,但是value可以相同,value可以为null。
var name = ‘Tom’;
// 使用$来实现name参数传入
var student = ‘name is:$name’;
// 使用构造函数创建List对象,和java一样
var list = List();
list.add(1);
// 创建不可变List
var list1 = const[1,2];
// for-in循环,这里用到Dart中的in关键字
var list2 = [1,2,3,4];
for (var i in list2) {
print(i);
}
void main() {
// 通过构造器创建Map
Map map = new Map();
map[‘a’] = ‘Android’;
map[‘b’] = ‘Flutter’;
map[‘c’] = ‘IOS’;
print(map);
// 通过复制的方式
Map map1 = Map.of(map);
print(map1);
// 直接声明来创建Map
Map map2 = {‘a’: ‘Android’, ‘b’: ‘Flutter’, ‘c’: ‘IOS’};
print(map2);
}
**方法**
1. 方法也是对象,方法可赋值给一个变量;
2. 如果方法的参数是解构出来的可以通过 @required 注解标注为必填 const Scrollbar({Key key, @required Widget child});
3. 支持可选参数,可选命名参数用{}包围,可选位置参数写在最后并且使用\[\]包围 String say(String from, String msg, \[String device\]);
4. 支持默认参数 void enableFlags({bool bold = false, bool hidden = false})