P7 P8 Dart 函数,函数的定义 可选参数 默认参数 命

2020-03-03  本文已影响0人  贝灬小晖

1.方法定义

//1.入口方法为main方法
//2.自定义方法可以放在main方法内部(使用的时候要在方法下面),也可以在外部
//3.方法里面可以嵌套方法,但功能只是在局部作用域

int sumNum(int n){
  var sum = 0;
  for(var i=0;i<n;i++){
    sum += i;
  }
  return sum;
}

2.函数

形参(方法的参数) 实参(执行方法时候的参数)
//[] 里面的参数是可选参数,默认参数 sex= ‘男’
//String sex='男' 这个叫做默认参数,这里默认参数是写在可选参数内的,默认参数必传,
//如果使用命名参数,在可选参数里就可以不必传了

 //可选参数,默认参数
String printUserInfo(String name,[String sex='男',int age]){
  if(age != null){
    return "name年纪$age";
  }else{
    return "name年纪未知";
  }
}
//调用
  print(printUserInfo("name",null,3));


//命名参数
String printUserInfo1(String name,{String sex='男',int age}){
  if(age != null){
    return "name年纪$age";
  }else{
    return "name年纪未知";
  }
}
//调用
  print(printUserInfo1("name",age: 21));

其他:方法当做参数的

箭头函数:你不能写多句话,只能写一句话

var myList = ['1','2','3'];
myList.forEach((value){
    print(value);
});
print("=======");
myList.forEach((value)=>print(value));
myList.forEach((value)=>{
 print(value)
});

自执行方法

(n){
  print(n);
}(100);

全局变量 局部变量

3.闭包

// 解决问题:常驻内存,不污染全局(有全局变量和局部变量的特点)
//方法里面嵌套一个方法,并且返回这个方法就是一个闭包

fuc(){
 var a = 123;
 return(){
  a++;
print(a);
   };
}

main函数中调用

var b = fuc();
fuc()();  //124
fuc()(); //124
fuc()();//124
b();//124
b();//125
b();//126
上一篇下一篇

猜你喜欢

热点阅读