Dart 入门到跑路 ------ 方法、匿名函数、箭头函数、闭包(三)

函数

内置方法/函数
print();

自定义方法
   自定义方法的基本格式
   返回类型  方法名称(参数1.......){
   方法体
   return 返回值
}

定义一个方法然后打印用户信息
 String printUserInfo(String username,int age){  //行参
        return "姓名:$username---年龄:$age";
    }
 print(printUserInfo('张三',20)); //实参

定义一个带可选参数的方法
    String printUserInfo(String username,[int age]){  //行参
      if(age!=null){
        return "姓名:$username---年龄:$age";
      }
      return "姓名:$username---年龄保密";
    }
    
定义一个带默认参数的方法
    String printUserInfo(String username,[String sex='男',int age]){  //行参
      if(age!=null){
        return "姓名:$username---性别:$sex--年龄:$age";
      }
      return "姓名:$username---性别:$sex--年龄保密";
    }    

定义一个命名参数的方法
  String printUserInfo(String username,{int age,String sex='男'}){  //行参
      if(age!=null){
        return "姓名:$username---性别:$sex--年龄:$age";
      }
      return "姓名:$username---性别:$sex--年龄保密";
  }

箭头函数

和es6一样


List list =['1','2','3'];
list.forEach((value){
print(value);
);

list.forEarch((value=>print(value));
list.forEarch()

匿名函数

和其他语言一致

var printNum =(){
   print(12345);
};
printNum();

自执行方法
((int n){
   print(n);
)(12);

方法的递归
var num =1;
fn(n){
sum *=n;
   if(n==1){
   return ;
   }
   f(n-1);
}

fn(5);

闭包

  闭包  函数嵌套函数,内部函数会调用外部函数的变量或参数,变量或参数不会被系统回收(不释放内存)
  闭包写法: 函数嵌套函数 并return里面的函数

  全局变量   常驻内存、污染全局
  局部变量   不常住内存会被垃圾机制回收、不会污染全局


fn(){
   var a =123;
   return(){
   a++;
   print(a);
   };
}
var b =fn()
b();
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章