Dark 运算符

1 赋值运算符 ??=

b ??= "hello" 若b为空,则把"hello"赋给b 。

2 三目运算符

boolean ? expression1 : expression2 ; 

3  a ?? b

string a ="";
string b = "b";
string c = a??b ,若a不为空,则把a赋给c,否则把b赋给c

4 for语句

var list = [1,2,3];
for(int a in list){
  print(a);
}

5 方法特性

  • 方法也是对象,具体类型Function
  • 返回值类型、参数类型都克省略
  • 箭头语法: => expression 是 {return expr;} 缩写
  • 都有返回值,默认return null
printPerson("koala", 18);

printPerson(name,age){ //省略了返回值和参数类型
  print("name=$name ,age=$age");
}

getName(name) => "name $name";//箭头语法 后面跟着一个返回的表达式 ,这里返回一个字符串

6 可选参数(在flutter控件初始化时经常用到)

基于名称用{}表示,调用时需指定参数名称。
printPerson(name, {int age, String gender}) {
  print("name=$name,age=$age,gender=$gender");
}

printPerson("koala", age: 18);

基于位置用[]表示

printPerson1(name, [int age, String gender]) {
  print("name=$name,age=$age,gender=$gender");
}

printPerson1("koala", 18, "male");

7 方法对象

方法可作为对象赋值给其它变量
void main(){
  Function function = printHello;//将方法名称赋给变量
  function('koala');//调用方法
}


printHello(String name){
  print("hello,$name");
}

方法可作为参数传递给其它方法

void main() {
  var list = [1, 2, "a", true];
  list.forEach(test);
}

void test(Object obj) {
  if (obj is String) print(obj * 2);
  if (obj is num) print(obj * 2);
}
原文地址:https://www.cnblogs.com/suiyilaile/p/11001035.html