使用forEach打印List里面的数据
void main() {
List list = ['苹果', '香蕉', '西瓜'];
list.forEach((value) {
print(value);
});
list.forEach((value) => print(value));
list.forEach((value) => {
print(value)
});
}
使用map打印List里面的数据,让数组中大于2的数据乘以2*/
void main() {
List list = [1, 2, 3, 4, 5];
var newList = list.map((value) {
if (value > 2) {
return value * 2;
}
return value;
});
print(newList.toList());
var newList2 = list.map((value) => value > 2 ? value * 2 : value);
print(newList2.toList());
var newList3 = list.map((value) => {
if (value > 2){
value * 2
}else{
value
}
});
print(newList3.toList());
}
定义一个方法isEvenNumber来判断一个数是否是偶数
void main() {
bool isEvenNumber(int n) {
if (n % 2 == 0) {
return true;
}
return false;
}
print(isEvenNumber(1));
print(isEvenNumber(2));
bool isEvenNumber2(int n) => n % 2 == 0;
print(isEvenNumber2(1));
print(isEvenNumber2(2));
}
匿名方法
void main() {
var printNum = () {
print(123);
};
printNum();
var printNum2 = () => print(123);
printNum2();
}
自执行方法
void main() {
(() {
print('我是一个自执行方法');
})();
(() => print('我是一个自执行方法'))();
}
闭包
void main() {
fn() {
var a = 123;
return () {
a++;
print(a);
};
}
var b = fn();
b();
b();
b();
fn2() {
var a = 123;
return () => print(++a);
}
var b2 = fn2();
b2();
b2();
b2();
}
方法的递归
void main(){
int sumNum(int n){
if(n == 1){
return 1;
}
return n + sumNum(n - 1);
}
print(sumNum(100));
int sumNum2(int n) => n == 1 ? 1 : n + sumNum2(n - 1);
print(sumNum2(100));
}
闭包
void main(){
fn(){
var a = 123;
return (){
a++;
print(a);
};
}
var b = fn();
b();
b();
b();
}