使用forEach打印List里面的数据

void main() {
  List list = ['苹果', '香蕉', '西瓜'];
  list.forEach((value) {
    print(value);
  });
  // 箭头函数 第一种写法 只能写一行
  list.forEach((value) => print(value));
  // 箭头函数第二种写法 可以写多行
  list.forEach((value) => {
    print(value)
  });
}

使用map打印List里面的数据,让数组中大于2的数据乘以2*/

void main() {
  List list = [1, 2, 3, 4, 5];
  var newList = list.map((value) {
    if (value > 2) {
      return value * 2;
    }
    return value;
  });
  print(newList.toList());
    // 箭头函数 第一种写法 只能写一行
    var newList2 = list.map((value) => value > 2 ? value * 2 : value);
    print(newList2.toList()); 
    // 箭头函数第二种写法 可以写多行
  var newList3 = list.map((value) => {
    if (value > 2){
      value * 2
    }else{
      value
    }
  });
  print(newList3.toList()); // [{{1}}, {{2}}, {{6}}, {{8}}, {{10}}]

}

定义一个方法isEvenNumber来判断一个数是否是偶数

void main() {
  // 定义一个方法isEvenNumber来判断一个数是否是偶数
  bool isEvenNumber(int n) {
    if (n % 2 == 0) {
      return true;
    }
    return false;
  }
  print(isEvenNumber(1));
  print(isEvenNumber(2));

    // 箭头函数 第一种写法 只能写一行
    bool isEvenNumber2(int n) => n % 2 == 0;
    print(isEvenNumber2(1));
    print(isEvenNumber2(2));
}

匿名方法

void main() {
  // 匿名方法
  var printNum = () {
    print(123);
  };
  printNum();
  // 箭头函数
  var printNum2 = () => print(123);
  printNum2();
}

自执行方法

void main() {
  // 自执行方法
  (() {
    print('我是一个自执行方法');
  })();
  // 箭头函数
  (() => print('我是一个自执行方法'))();
}

闭包

void main() {
  // 闭包
  fn() {
    var a = 123;
    return () {
      a++;
      print(a);
    };
  }
  var b = fn();
  b(); // 124
  b(); // 125
  b(); // 126
  // 箭头函数
  fn2() {
    var a = 123;
    return () => print(++a);
  }
  var b2 = fn2();
  b2(); // 124
  b2(); // 125
  b2(); // 126
}

方法的递归

void main(){
    // 方法的递归
    int sumNum(int n){
        if(n == 1){
        return 1;
        }
        return n + sumNum(n - 1);
    }
    print(sumNum(100));
    // 箭头函数
    int sumNum2(int n) => n == 1 ? 1 : n + sumNum2(n - 1);
    print(sumNum2(100));
}

闭包


void main(){
  fn(){
    var a = 123; // 不会被回收 也不会被销毁
    return (){
      a++;
      print(a);
    };
  }
    var b = fn();
    b(); // 124
    b(); // 125
    b(); // 126

}

results matching ""

    No results matching ""