自定义方法:
自定义方法的基本格式
返回类型 方法名称 (参数1,参数2,...){
方法体;
return 返回值;
}
带可选参数的方法(可选参数用中括号包裹,写在参数的最后)
String printUserInfo(String username,[int age]){
return "姓名:$username----年龄:$age";
}
带默认参数的方法(默认参数必须是在可选参数里)
String printUserInfo(String username,[String sex='男',int age]){
return "姓名:$username----年龄:$age";
}
定义一个命名参数的方法(用大括号包裹,区别:调用的时候参数名称要带上)
String printUserInfo(String username,{String sex='男',int age}){
return "姓名:$username----年龄:$age";
}
print(printUserInfo('张三',age:20,sex:'女'));
普通匿名函数
List list=[4,1,2,3,4];
var newList = list.map((value){
if(value>2){
return value*2;
}
return value;
});
箭头函数
注意:dart中的箭头函数,函数体只能是一句代码。
List list=[4,1,2,3,4];
var newList = list.map((value)=>value>2?value*2:value);
闭包
全局变量特点:全局变量常驻内存、全局变量污染全局
局部变量的特点:不常驻内存 会被垃圾机制回收、不会污染全局
闭包就是解决既可以常驻内存,又不污染全局
闭包:函数嵌套函数,内部函数会调用外部函数的变量或参数,变量或参数在方法结束前不会被回收
闭包的写法:函数嵌套函数,并return 里面的函数,这样就形成了闭包。