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