dartpad在线调试 :https://dartpad.dartlang.org 运行需要用墙
vscode执行dart
1.安装Code Runner
2.安装dart插件
3.配置环境变量
D:Program Filesflutterincachedart-sdkin --用的是flutter里的dartsdk,可以单独下载
4.使用
vscode新建dart文件
右键run code ,成功!
可能出现的乱码问题
ok
GitLens 插件:逐行显示git提交修改时间
一、数据类型
1.num类型
num类型有两个子类int类型和double类型
2.String类型
3.bool类型
4.List类型
main(){ var list = ['tom', 'mei', 'jay']; print(list);//打印 [tom, mei, jay] print(list.length);// 3 list.add('han'); print(list);//[tom, mei, jay, han] //在 list 字面量之前添加 const 关键字,可以 定义一个不变的 list 对象 var constantList = const [1, 2, 3]; //constantList.add(4);//报错 print(list[0]);// tom print('indexOf--' +list.indexOf('mei').toString());//根据值返回索引下标 //删除指定元素,注意1不是下标,是值,如果值未找到不会报错 print(list.remove('mei'));//true print(list);//[tom, jay, han] }
5.Map类型
main(){ Map name={'name':'tom','age':22}; print(name); }
二、常量与变量
1.默认值
如果声明变量不赋值,所有类型的变量都默认为null包括int类型
main(){ int name; print(name); }
2.常量 final const
final name='a';
不允许被修改
main(){ final String name='a'; name='aaa'; print(name); }
使用final const可以省略变量类型
final name='a';
final和const的区别
3.私有变量
所有名字以下划线开头的变量,Dart 的编译器都会将其强制标记为私有的
三、运算符
四、函数.
1.一般函数
void say(){ print('hello'); } main(){ say(); }
2.函数简写
如果只有一行,可以用=> 代替{}
main()=> print('a');
3.可选参数
可选参数分为:可选命名参数和可选位置参数。这两种方式不能同时在一个函数使用
(1)可选命名参数
运行
还可以设置默认参数
运行
如果 name没有默认值,并且调用时也没有传参,则输出null
(2)提示需要填写的可选参数
pubspec.yaml
name: my_app dependencies: meta: ^1.1.8
提示
(3)可选位置参数:
五、流程控制
1.if else
main() { int count = 8; if (count == 6) { print('a'); } else if (count == 7) { print('b'); } else { print('c'); } }
2.for 循环
main() { int count = 8; for (int i = 0; i < count; i++) { print(i); } }
3.while do-while
main() { int count = 8; while (count != 0) { count--; if (count == 6) { print('count'); continue; } if (count == 3) { break; } print(count); } }
4.switch case
main() { int count = 8; switch (count) { case 6: print('ok6'); break; case 8: print('ok8'); break; default: print('ok'); } }
5.Assert (断言)
assert(bool)为真时正常往下执行,为假时推出程序,此代码只在调试模式下管用
main() { int count = 8; assert(count < 7); print(count); }
六、异常
1.
main() { throw '抛出异常'; }
2.
main() { throw Exception('抛出指定异常'); }
3.try
main() { try{ }catch(e){ }finally{ } }
七、泛型
var names = List<String>(); names.addAll(['Seth', 'Kathy', 'Lars']); print(names is List<String>); // true
八、Type
查看变量类型
main(){ //查看变量类型 var i=10; print(i.runtimeType); }