基本类型
numbers (1) int 整数值不大于64位,这取决于平台。在DART VM上,值可以从-263到262。但是要编译成JavaScript,所以dart得数值允许值从-2的53次幂到2的53次幂-1。 (2) double 双精度浮点数
string
boolean
list (也被称之为 *arrays*)
maps
runes (用于在字符串中表示 Unicode 字符)
symbols
变量声明 ( 可以用Object、var与dynamic声明的变量赋任何类型的值,但是背后的原理却是非常不同)
var 一旦声明便不可再次更改类型 (声明的变量在赋值的那一刻,决定了它是什么类型。)
dynamic 不是在编译时候确定实际类型的, 而是在运行时,(没有初始化的变量自动获取一个默认值为 `null`(类型为数字的 变量如何没有初始化其值也是 null))
Object 与Java一样Object是所有类的基类,Object声明的变量可以是任意类型。(在 Dart 中 甚至连 数字、方法和 `null` 都是对象,比如int。)
final和const 两者区别在于:const
变量是一个编译时常量,final
变量在第一次使用时被初始化
函数
bool isNoble(int atomicNumber) {
return _nobleGases[atomicNumber] != null;
}
bool isNoble (int atomicNumber)=> _nobleGases [ atomicNumber ] != null ;
异步处理
Future.delayed(new Duration(seconds: 2),(){ //return "hi world!"; throw AssertionError("Error"); }).then((data){ //执行成功会走到这里 print("success"); }).catchError((e){ //执行失败会走到这里 print(e); })
.whenComplete((){
//无论成功或失败都会走到这里
});
future.wait(类似于promise.all)