Flutter Dart中的函数参数 默函数的定义 可选参数 箭头函数 匿名函认参数 命名参类数 闭包等

复制代码
 //使用forEach 打印下面的List里面的数据
  List list = ["西瓜", "苹果", "香蕉"];

  list.forEach((value) {
    print(value);
  });

  //箭头函数1
  list.forEach((value) => print(value)); //只能一句
  //箭头函数2
  list.forEach(
        (value) =>
    {
      print(value), //只能一句
    },
  );

  //修改下面List里面的数据,让数组大于2的值乘以2
  List list1 = [1, 2, 3, 4];
  var newList = list1.map((value) {
    if (value > 2) {
      return value * 2;
    } else {
      return value;
    }
  });
  print(newList); //(1, 2, 6, 8)
  print(newList.toList()); //[1, 2, 6, 8]

通过箭头函数来实现

复制代码
  var newList1 = list1.map((value) => value > 2 ? value * 2 : value);
  print(newList1); //(1, 2, 6, 8)

  //定义一个方法isEvenNumber来判断一个数是否是偶数
  //定义一个方法打印1-n以内的所有偶数
  isEvenNumber(num) {
    if (num % 2 == 0) {
      return true;
    }
    return false;
  }

  print(isEvenNumber(2));


  printEvenNumber(int n) {
    for (var i = 1; i < n; i++) {
      if (isEvenNumber(i)) {
        print(i);
      }
    }
  }

  printEvenNumber(5);

匿名方法

复制代码
 printNum();

//匿名方法
var printNum = () {
  print(123);
};


//匿名方法
var printNum1 = (int n) {
  print(n);
};

自执行方法

复制代码
 (() {
    print("我是自执行方法");
  })();

递归

复制代码
 //通过方法的递归 求1-100的和
  var sum = 0;
  fn(int n) {
    sum += n;
    if (n == 0) {
      return;
    }
    fn(n - 1);
  }
  fn(100);
  print(sum);

闭包

全局变量

复制代码
//全局变量常驻内存、全局变量污染全局全局变量特点
var a =100;
main(){

  fn(){
    print(a);
  }
  fn();
  fn();
}

局部变量

复制代码
//局部变量的特点:不常驻内存会被垃圾机制回收、不会污染全局
info() {
  var a = 123;
  a++;
  print(a);
}

闭包实现不会污染全部,常驻内存

复制代码
//闭包实现不会污染全部,常驻内存
main(){
  fn() {
    var a = 123;
    return () {
      a++;
      print(a);
    };
  }

  var b = fn();
  b();
  b();
}
相关推荐
GitLqr3 小时前
玩转 WebSocket:从原理到 Flutter 实战
websocket·网络协议·flutter
广州灵眸科技有限公司3 小时前
xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano
数据库·windows·科技
世人万千丶3 小时前
参数管理_Flutter在鸿蒙平台路由参数最佳实践
学习·flutter·华为·harmonyos·鸿蒙
王维同学9 小时前
[原创][Windows C++]LSA 认证、安全与通知包的注册表枚举
c++·windows·安全
YCOSA20259 小时前
雨晨 Windows 11 IOT 企业版 LTSC 24H2 轻装 2合1 26100.8968
windows·物联网
汤姆yu10 小时前
CodeGeeX 4完整安装与实操使用全指南
人工智能·windows·ai·智能体·视频模型
zhazhazsy10 小时前
Flutter 多 Isolate 实战:搭建主 Isolate 数据与能力桥
flutter
吐了啊取名字太难12 小时前
美颜系统AI修图本地跑并支持Mac、win、安卓、iOS不卡顿
android·人工智能·windows·数码相机·mac·ai编程
math_hongfan12 小时前
鸿蒙Flutter setState机制深入理解
学习·flutter·华为·harmonyos·鸿蒙
筱羽_筱羽14 小时前
VS2022 编译SOEM
windows·visualstudio·soem