• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Dart Learn Notes 04

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

流程控制语句

流程控制语句的作用就是控制代码的执行流程。

if and else

var a = 10;
if(a > 10){
    print('ok');
}else if( 5 < a <=10 ){
    print('soso');
}else{
    print('not ok');
}

for循环

var list = [];
for(int i =  0; i<10; i++){
    list.add(i);
}

list.forEach((item) =>  print(item));

for (var item in list) {
    print(item);
}

三种循环方式,写起来有一种在写java代码的感觉,不得不说,为了google为了照顾广大的android程序员确实在dart的语法上特别亲和。

while and do-while

int a = 3;
while(a > 0){
    print(a);
    a--;
}

do{
    print(a);
    a--;
}while(a > 0);

区别就是do-while会先执行一次。

break and continue

for(int a = 0; a < 9 ;a ++){
    if(a == 3){
        break;
    }
    print(a);
}

for(int a = 0; a < 9 ;a ++){
    if(a == 3){
        continue;
    }
    print(a);
}

break 是到达条件的时候循环就不执行了,continue是到达条件的时候本次不执行,下次执行。

switch and case

var type = 2;
switch(type){
case 1:
    print('top');
    break;
case 2:
    print('2th');
    break;
default:
    print('default');
}

需要注意java中如果条件后不加break,很可能会造成switch的case穿透。但是在dart中不会,因为如果不写break,运行就会报错。在Dart中,Switch的case条件下,要么执行语句和break都写,要么都不写,违反规则,dart会让程序直接报错。

断言

assert会在运行时判断条件是否成立,如果条件不成立,会抛出异常。

assert( a > 10);

异常

throw

Dart中允许抛出异常,异常有两种,Error,Exception,但是使用 throw 抛出异常的时候,不限于这两种异常及其子类,你甚至可以直接抛出一个对象。和Java不同,dart中是非检查异常,而且,它没有throws这个关键字,不能用throws在方法上直接抛异常。

throw new  FormatException('Expected at least 1 section');

throw 'this is a Exception';

catch

捕获异常,进行处理

try{
    method();
}on Exception catch (e){
    print(e);
}

finally

如果要保证捕获到异常后仍然要执行后续代码,使用finally

try{
    method();
}on Exception catch (e){
    print(e);
}finally{
    print('finally');
}

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Dart-Isolate并发发布时间:2022-07-13
下一篇:
Dart异步与消息循环机制发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap