1.dart 声明一个方法
例如声明一个返回值为 String类型的函数
String func(String name,int age){
return "name=$name,age=$age"
}
如果没有返回值 dart会默认返回一个null ;
void func(){} 表示没有返回值的函数;
也可以用箭头函数 func(name,age)=>"name=$name,age=$age";
2.可选参数
func(String name,{int age,String gender})=>print("name=$name,age=$age");//声明参数 第二个可选是否输入
void main(){
func('参数');//传入一个参数
func('参数',gender:"性别");//可选参数为map类型 传递可选参数可以不按照顺序传入
}
注意的是 声明可选参数必须在正常参数的后面!
func1(String name,[int age,String gender]){};//注意这里用的是列表 参数传入必须按照顺序
3.函数默认参数
func(String name,{int age=20,String gender="111"});//这里默认参数是当没有传入该参数时,函数默认的为其赋值
4.方法也是对象 可以将定义的函数当成参数传入另一个函数
5.匿名函数
void main(){
var fun=(str){ //匿名函数可以通过赋值给一个变量来使用
return "hello ${str}";
}
fun('name');
}
Function a(list,(str){return str*2;}){//也可以通过参数的形式直接传入
}
6.闭包
1.闭包是一个方法
2.闭包定义在其他方法内部
3.闭包能访问外部方法内的局部变量,并持有其状态
列如:
void main(){
var func=aa();
func();
func();
}
aa(){
int count=0;
return (){
print(count++);
}
}