一、基本类型
Dart
属于是强类型语言,可以用var
来声明变量Dart
会自推导出数据类型,var
实际上是编译期的“语法糖”。dynamic
表示动态类型, 被编译后,实际是一个object
类型,在编译期间不进行任何的类型检查,而是在运行期进行类型检查。
- var 声明变量
var tag = "888"
- 基本数字类型
int 和 double
- Dart中bool使用
var 个= “null”
if (g) {
}
二、变量
- Dart 不需要给变量设置 setter getter 方法,自带 getter 和 setter
- 类等都继承 Object ,默认值是 NULL
- final 或者 const 的话只有一个 getter 方法。
- final 和 const 表示常量
final example = 'hello Dart'
const value = 34555
- 同时
static const
组合代表了静态常量。
static const name = 'wangwu'
- 数值,在作为字符串使用时,是需要显式指定的
int i = 0;
print("bbbbcc" + i.toString());
- Dart数组等于列表
var list = []
List list = new List()
二、方法
- 操作符
??
和??=
> ?? 用于判断为空
var aa ?? "9999" : 如果aa 为空,直接返回“9999”
> ??= 判断为空直接赋值
var aa ??= "999" :如果为空直接赋值为 “9999”
- 设置 参数默认值 和 指定名称
branch 不设置的话,默认是 “art” 。
void getUserInformation(Sting userName, reposName, {branch = "art"}) {
}
- 方法没有关键字修饰
_
下划线:标识private方法- @protected 注解
- 构造函数
class Car {
String name;
String tag;
int type;
// 默认构造函数
Car(this.name, this.tag, this.type);
// 返回空的Model
Car.empty();
// 返回相应的属性变量
Car.forName(this.name);
Car.forTag(this.tag);
Car.forType(this.type);
}
四、异步和等待 async
和 await
异步等待 async 然后 await 等待设置的时间; afterDoSomeThing() 中等待 requestAsyncSecond() 执行完毕,然后对返回的数据修改;然后通过renderSome()函数中调用 afterDoZSomeThing()通过then()函数打印
/*等待指定时间的毫秒值*/
_requestAsyncSeocnd(int second) async {
await Future.delayed(Duration(seconds: second));
return "ok!";
}
等待完成之后修改获取的数据
afterDoSomeThing() async {
var data = await _requestAsyncSeocnd(2);
data = "ok Get From Request Mether";
return data;
}
修改完成数据然后使用 then 使用
renderSome() {
afterDoSomeThing().then((value) {
print(value);
}).then((value) {
print(value);
});
}
网友评论