dartpad在线调试 :https://dartpad.dartlang.org 运行需要用墙
vscode执行dart
1.安装Code Runner
2.安装dart插件
3.配置环境变量
D:\Program Files\flutter\bin\cache\dart-sdk\bin --用的是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);
}