操作符
地板除 ~/
var a = 10;
print("a = ${a ~/ 3}");
?? 空判断运算符
var b;
b ??= 10;
print("b = $b");
?. 非空判断运算符
var p1 = null;
print(p1?.age ?? "NULL") ;
.. 和 ?.. 级联运算符
final p = Person(10, "name")
..age = 20
..name = "BOB";
print(p.age);
print(p.name);
例子:
void main(List<String> args) {
var a = 10;
print("a = ${a ~/ 3}");
var b;
b ??= 10;
print("b = $b");
final p = Person(10, "name")
..age = 20
..name = "BOB";
print(p.age);
print(p.name);
var message = StringBuffer('Dart is fun');
for (var i = 0; i < 5; i++) {
message.write("!");
}
print(message);
var callbacks = [];
for (var i = 0; i < 2; i++) {
callbacks.add(() => print(i));
}
callbacks.map((e) {
print("a");
e();
}).forEach((itemFunc) => itemFunc);
print("------");
[1, 2, 3].where((v) => v == 2).forEach((e) {
print(e);
});
print("------");
[1, 2, 3].takeWhile((v) => v <= 2).forEach((v) {
print(v);
});
}
class Person {
int age;
String name;
Person(this.age, this.name);
}