dart笔记
普通函数
1. 返回类型 方法名称(参数1,参数2,...){
方法体
return 返回值;
}
例子
void printInfo(){
}
printInfo();调用方法
int getnum(int a){
var myNum = 123 + a;
return myNum;
}
var n = getnum(2);
//n=125;
//箭头函数只能有一句话
getnum(int a) => print(a);
2.如果参数外面添加大括号
getnum([int count]){
}
则表明count为可选参数,可写可不写
3.方法可以嵌套执行
void xxx(){
aaa(){};
aaa();
}
数组循环
list.forEach((e){
print(e);
});
var newList = list.map((e){
return e;
});
匿名函数
var printNum = (){
};
自执行方法
((int n){
print(自执行方法);
})(2);
闭包
1.全局变量特点:全局变量常驻内存,会污染全局;
2.拘捕变量的特点: 不会常驻内存会被垃圾机制回收,不会污染全局;
闭包特点:常驻内存,不污染全局
fn(){
var a= 123;
return(){
a++;
print(a);
}
}
//var b = fn();
b()//124
b()//125
类
构造函数
class Person{
String name;
int age;
int _aaa;
// 构造函数
Person(String name , int age){
this.name = name;
this.age = age;
};
//简写 Person(this.name,this.age);
// 实例化前初始化参数
Person():name = 'aaa',age = 11{
};
// 命名构造函数
Person.now(){
};
// get 方法
get are{
return age * _aaa;
}
或者
are (){
return age * _aaa;
}
// set方法
set aeraAge(value){
this.age = value;
}
}
//私有属性和方法在前面加个下划线即可(像上面的_aaa),需要注意的是,只有把类定义在其他文件里面才不能访问私有属性;
静态成员
calss Person{
static String name = '张三';
int age = 20;
static void show(){
};
void printInfo(){// 非静态方法可以访问静态成员以及非静态成员
print(name);
print(this.age);
}
}
//静态成员只能类访问,非静态通过实例访问