Dart入门—控制流程与其他

Posted 何小有

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dart入门—控制流程与其他相关的知识,希望对你有一定的参考价值。

Dart入门—控制流程与其他

控制流程

if~else

if语句和可选的else语句,简单的if语句可以用条件运算符( ? : )来处理

if (isRaining()) {
    you.bringRainCoat();
} else if (isSnowing()) {
    you.wearJacket();
} else {
    car.putTopDown();
}

for

使用for循环进行迭代

var message = new StringBuffer("Dart is fun");
for (var i = 0; i < 5; i++) {
    message.write(‘!‘);
}

使用forEach()方法迭代iteration对象

List<String> names = ["Alice", "Daphne", "Elizabeth", "Joanna"];
names.forEach((name){
    print(name);
});

使用for~in迭代iteration对象的List类型和Set类型

var collection = [0, 1, 2];
for (var x in collection) {
  print(x);
}

while、do~while

while循环,先判断条件再进入循环

while (!isDone()) {
    doSomething();
}

do~while循环,先进入循环再判断条件

do {
    printLine();
} while (!atEndOfPage());

break、continue

使用break停止循环

while (true) {
    if (shutDownRequested()) break;
    processIncomingRequest();
}

使用continue跳过本次循环

for (int i = 0;i < candidates.length;i++) {
    var candidate = candidates[i];
    if (candidate.yearsExperince < 5) {
        continue;
    }
    candidate.interview();
}

switch、case

switch通常用于整数、字符串和编译时常量的比较,比较的对象必须是同一类型,每一个case必须用break结束

var command = ‘OPEN‘;
switch (command) {
    case ‘CLOSED‘:
        executeClosed();
        break;
    case ‘PENDING‘:
        executePending();
        break;
    case ‘APPROVED‘:
        executeApproved();
        break;
    case ‘DENIED‘:
        executeDenied();
        break;
    case ‘OPEN‘:
        executeOpen();
        break;
    default:
        executeUnknown();
  }

在case内容为空的情况下可以落空,或使用continue继续执行

var command = ‘CLOSED‘;
switch (command) {
    case ‘CLOSED‘:
        executeClosed();
        continue nowClosed;

nowClosed:
    case ‘NOW_CLOSED‘:
        executeNowClosed();
        break;
}

assert

使用assert语句,如果布尔值为false就扰乱正常运行,只在检查模式下生效

//确保变量非空
assert(text != null);

//确保值小于100
assert(number < 100);

//确保这是一个https URL
assert(urlString.startsWith(‘https‘));

注释

// 这是一行注释
/*
    这是一大段注释
*/

私有变量与函数

dart语法中没有public、protected和private这些关键字,只要在标识符前面加“_”,就能声明私有变量或者函数

不定时添加内容

以上是关于Dart入门—控制流程与其他的主要内容,如果未能解决你的问题,请参考以下文章

[dart学习]第六篇:流程控制语句

dart入门1

Dart:3.Dart运算符流程控制

Dart语法学习-基础 流程控制异常类

一文搞定Dart入门(学习笔记)

一文搞定Dart入门(学习笔记)