枚举
- 枚举是数量固定的常量值,通过
enum
关键字声明
enum Color{red,green,blue}
- 枚举的values常量,可以获取所有枚举值列表
List<Color>colors = Color.values;
- 可以通过
index
获取值的索引
assert(Color.green.index==1);
enum Color { red, grren, blue }
void main() {
//通过index返回枚举中具体常量的值
print(Color.grren.index);
//通过values 返回常量值列表
print(Color.values);
List<Color> colors = Color.values;
print(colors);
//通过下标,访问列表中的内容
print(colors[0]);
//通过forEach去遍历列表的内容
colors.forEach((element) {
print('valie:$element,index:${element.index}');
});
}
Dart库与生态
简介image.png
自定义库
image.pngimage.png
// library MyCustom;
//建议写成小写字母+下划线形式
library my_custom;
class MyCustom {
String name = 'MyCustom';
static num version = 1.0;
void info() {
print('我是自定义库');
}
}
import 'lib/MyCustom.dart';
void main() {
MyCustom mc = new MyCustom();
mc.info();
print(MyCustom.version);
}
image.png
- 引入部分库(仅引入需要的内容)
- 包含引入(show)
- 排除引入(hide)
void f1() {
print('f1 is running');
}
void f2() {
print('f1 is running');
}
void f3() {
print('f1 is running');
}
import 'dart:math';
// import 'lib/common.dart' show f1, f3; //show后面指定包含引入的内容
import 'lib/common.dart' hide f1, f3;//hide会隐藏后面的内容
void main() {
f1();
//f2没有在show里面指定
// f2();
f3();
}
image.png
image.png
void f1() {
print('f1 of function is running');
}
void hello() {
print('hello ');
}
import 'lib/common.dart';
import 'lib/function.dart' as func;//给库添加前缀 解决命名冲突
void main() {
f1();
func.f1();
}
image.png
import 'lib/function.dart' deferred as func;
void main() {
//延迟加载
// func.f1();
// func.hello();
print(1);
greet();
print(2);
print(3);
}
Future greet() async {
await func.loadLibrary();
func.hello();
}
image.png
//与主库建立联系
part of phone;
class Cameraa {
String name = '摄像头';
void info() {
print('我是摄像头');
}
}
//与主库建立联系
part of phone;
class Processor {
String name = '处理器';
void info() {
print('我是处理器');
}
}
library phone;
//与分库建立联系
part 'Camera.dart';
part 'Processor.dart';
import '/phone/main.dart';
void main() {
Cameraa c = new Cameraa();
c.info();
Processor p = new Processor();
p.info();
}
import '29_part.dart' as phone ;
void main() {
phone.main();
}
image.png
第三方库
image.png创新无极限!只要敢想,没有什么不可能,立即跳出思维的框框吧。如果你正处于一个上升的朝阳行业,那么尝试去寻找更有效的解决方案:更招消费者喜爱、更简洁的商业模式。如果你处于一个日渐萎缩的行业,那么赶紧在自己变得跟不上时代之前抽身而出
网友评论