淘客商品网站怎么做的,凡科自助建站系统,做公司员工福利的网站都有哪些,wordpress更新翻译文章目录 函数函数特点可选和默认参数函数对象箭头函数匿名函数综合案例 能够定义并使用Dart函数 学习内容#xff1a;
函数定义可选和默认参数函数对象箭头函数匿名函数
函数
函数定义
Dart函数的结构#xff1a;
调用函数#xff1a;
案例#xff1a;定义计算任意… 文章目录 函数函数特点可选和默认参数函数对象箭头函数匿名函数综合案例 能够定义并使用Dart函数 学习内容
函数定义可选和默认参数函数对象箭头函数匿名函数
函数
函数定义
Dart函数的结构
调用函数
案例定义计算任意两个整数之和的函数并返回计算结果 函数特点
返回值类型和参数类型都可以省略函数都有返回值如果没有明确指定默认返回 null
void main() {//调用函数sum1();int ret sum2(10, 20);print(ret);
}int sum2(int a, int b){int ret a b;return ret;
}可选和默认参数
可选命名参数 void main() {printString(zzm, age: 15);
}// 可选命名参数
void printString(String name, {int? age, String? location 昌平区}) {print($name - $age - $location);
}**注意点**可选参数必须是可以为空的
默认参数
函数对象
在Dart中一切都是对象函数也是对象类型是Function
函数可作为对象赋值给其他变量函数可作为参数传递给其他函数void main() {// 定义一个变量接收函数// var f funcDemo1;Function f funcDemo1;f();funcDemo2(funcDemo3);
}// 函数可以作为对象赋值给其他变量
void funcDemo1() {print(funcDemo1);
}// 函数可以作为参数传递给其他函数
void funcDemo2(Function func) {// 调用外界传入的函数func();
}// 定义作为参数的函数: 把funcDemo3传入到funcDemo2
void funcDemo3() {print(funcDemo3);
}
箭头函数
函数体只包含一个表达式时可以使用箭头函数进行简写
简写
提示 表达式 是对 { return 表达式 } 的简写
void main() {int ret1 sum1(10, 20);print(ret1);int ret2 sum2(30, 40);print(ret2);
}int sum1(int a, int b) {return a b; // 函数体只有一个表达式
}// 使用箭头函数简写只有一个表达式的函数体
int sum2(int a, int b) a b;
匿名函数
匿名函数是一种没有函数名称的函数。 但是和其他函数一样它也有形参列表也可以有可选参数。
特点
仅在调用时才临时创建函数对象调用完立即释放节省内存空间
使用场景
可赋值给变量通过变量进行调用可当做参数传递给其他函数去调用回调函数
void main() {// 匿名函数// 匿名函数赋值给变量并调用Function f () {print(这是一个匿名函数);};f();// 可以作为参数传递给其他函数去调用回调函数funcDemo(() {print(这个匿名函数是个参数);});
}// 定义一个接收函数作为参数的函数
void funcDemo(Function func) {func();
}
综合案例
案例计算购物车商品是否全选
// 准备购物车数据List carts [{count: 2, price: 10.0, selected: true},{count: 1, price: 30.0, selected: false},{count: 5, price: 20.0, selected: true}];核心逻辑只要有一个商品未勾选那就是非全选 // 案例计算购物车商品是否全选
// 核心逻辑只要有任何一个商品是未勾选的那么就是非全选
bool getSelectedState(List carts) {// 购物车初始的状态默认是全选bool isSelectedAll true;carts.forEach((element) {bool selected element[selected];// 核心代码只要有任何一个商品是非勾选的则购物车就是非全选if (selected false) {isSelectedAll false;}});return isSelectedAll;
}
整体代码
void main() {
// 准备购物车数据List carts [{count: 2, price: 10.0, selected: true},{count: 1, price: 30.0, selected: false},{count: 5, price: 20.0, selected: true}];bool isSelectedAll getSelectedState(carts);if (isSelectedAll) {print(全选);} else {print(非全选);}
}// 案例计算购物车商品是否全选
// 核心逻辑只要有任何一个商品是未勾选的那么就是非全选
bool getSelectedState(List carts) {// 购物车初始的状态默认是全选bool isSelectedAll true;carts.forEach((element) {bool selected element[selected];// 核心代码只要有任何一个商品是非勾选的则购物车就是非全选if (selected false) {isSelectedAll false;}});return isSelectedAll;
}