1.除法、整除、取余运算
var num = 7;
print(num / 3); // 除法操作, 结果2.3333..
print(num ~/ 3); // 整除操作, 结果2;
print(num % 3); // 取余操作, 结果1;
??=
示例代码:
main(List<String> args) {
var name1 = 'coderwhy';
print(name1);
// var name2 = 'kobe';
var name2 = null;
name2 ??= 'james';
print(name2);
// 当name2初始化为kobe时,结果为kobe,
// 当初始化为null时,赋值了james
// ??= 的意义
// 当左边变量非空,则取左边变量
// 当左边变量为空,则把右边的值赋值给左边变量
}
??
示例代码:
var temp = 'why';
var temp = null;
var name = temp ?? 'kobe';
print(name);
总结:
其实??=
和??
都的功能都和三目运算差不多,只是进行了升华了一下;
4.级联语法
- 某些时候,我们希望对一个对象进行连续的操作,这个时候可以使用级联语法
class Person {
String name;
void run() {
print("${name} is running");
}
void eat() {
print("${name} is eating");
}
void swim() {
print("${name} is swimming");
}
}
main(List<String> args) {
final p1 = Person();
p1.name = 'why';
p1.run();
p1.eat();
p1.swim();
final p2 = Person()
..name = "why"
..run()
..eat()
..swim();
}
5.分支语法
if和else
因为Dart
语法的 if else
分支语法和 swift
的语法是完全一样的,所以在此不再赘述;
循环操作
基本的for循环
for (var i = 0; i < 5; i++) {
print(i);
}
for in遍历List和Set类型
var names = ['why', 'kobe', 'curry'];
for (var name in names) {
print(name);
}
while和do-while和其他语言一致
break和continue用法也是一致
switch-case
普通的switch使用:
- 注意:每一个case语句,默认情况下必须以一个break结尾
main(List<String> args) {
var direction = 'east';
switch (direction) {
case 'east':
print('东面');
break;
case 'south':
print('南面');
break;
case 'west':
print('西面');
break;
case 'north':
print('北面');
break;
default:
print('其他方向');
}
}
网友评论