Dart变量与类型(官方文档)
var,静态类型,null
- var
使用var定义变量,类型由编译器推断 - 静态类型
用静态类型定义变量,编辑器能够使用这些静态类型,提供编译警告 - null
未初始化的变量的值是null - 所有皆对象
Dart所有类型都是对象类型
基本数据类型
num、bool、String、List、Map
num
1 int和double
int x = 1;
int hex = 0xEEADBEEF;
double y = 1.1;
double exponents = 1.13e5;
int roundY = y.round();
2 运算符
bool
String
1 字符串内嵌表达式
使用${express}
var s = ‘cat‘;
var s1 = ‘this is a uppercased string: ${s.toUpperCase()}‘;
2 字符串拼接
用+
3 多行字符串
用三个"
var s3 = """This is a
multi-line string.""";
List和Map
List数组,Map字典
var arr1 = ["Tom", "Andy", "Jack"];
var arr2 = List.of([1,2,3]);
arr2.add(499);
arr2.forEach((v) => print(‘${v}‘));
var map1 = {"name": "Tom", ‘sex‘: ‘male‘};
var map2 = new Map();
map2[‘name‘] = ‘Tom‘;
map2[‘sex‘] = ‘male‘;
map2.forEach((k,v) => print(‘${k}: ${v}‘));
容器类型
容器里的元素需要有类型的,Dart判断好类型后,后续像容器加入的元素要满足该类型,否则编译失败
- 初始化时添加约束
var arr1 =<String>[‘Tom‘, ‘Andy‘, ‘Jack‘];
var arr2 = new List<int>.of([1,2,3]);
var map1 = <String,String>{‘name‘: ‘Tom‘,‘sex‘: ‘male‘,};
- 可以拿到runtimeType
sth.runtimeType为变量运行时的类型
常量定义
const final
const是指编译期间确定的值,final是可以在运行时确定的,确定后不能变
流程控制语法
if-else、for、while、do-while、break/continue、switch-case、assert