文章目录
1 隔离-Isolates
- 所有Dart代码都在隔离区内运行,而不是线程。每个隔离区都有自己的内存堆,确保不会从任何其他隔离区访问隔离区的状态。
2 元数据(注解)
2.1 元数据(注解)-@deprecated
main() {
dynamic tv = new Television();
tv.activate();
tv.turnOn();
}
class Television {
@deprecated
void activate() {
turnOn();
}
void turnOn() {
print('Television turn on!');
}
}
2.2 元数据(注解)-@override
main() {
dynamic tv = new Television();
tv.activate();
tv.turnOn();
tv.turnOff();
}
class Television {
@deprecated
void activate() {
turnOn();
}
void turnOn() {
print('Television turn on!');
}
@override
noSuchMethod(Invocation mirror) {
print('没有找到方法');
}
}
2.3 元数据(注解)-自定义
//todo.dart
class Todo {
final String who;
final String what;
const Todo({this.who, this.what});
}
import 'todo.dart’;
main() {
dynamic tv = new Television();
tv.doSomething();
}
class Television {
@Todo(who: 'damon', what: 'create a new method')
void doSomething() {
print('doSomething');
}
}
3 注释
3.1 注释-单行注释
单行注释以//开头。Dart编译器会忽略//和行尾之间的所有内容。
// 这是单行注释
3.2 注释-多行注释
- 多行注释以/开头,以/结尾。介于/*和 */两者之间的内容会被编译器忽略(除非该注释是一个文档注释)。
- 多行注释可以嵌套。
/*
* 这是多行注释
* 这是多行注释
*/
3.3 注释-文档注释
- 文档注释以///或者/**开头。
- 可以通过dartdoc命令导出文档。
/// 这是文档注释
/**
* 这是文档注释
*/