Dart语法篇之函数的使用

本文详细介绍了Dart语言中的函数特性,包括可选位置参数、可选命名参数的使用和默认值设定,匿名函数(闭包、lambda)的应用,箭头函数的简写形式,局部函数的作用,以及顶层函数和静态函数的定义。此外,还讨论了main函数作为程序入口点的角色,以及Function作为函数对象的概念。
摘要由CSDN通过智能技术生成

//注意: 可选命名参数必须在必需位置参数的后面
num add(num a, num b, {num c, num d}) {
return a + b + c + d;
}
//调用
main() {
print(add(4, 5, d: 3, c: 1));//这里的命名参数就是可以任意顺序指定参数名传值,例如d: 3, c: 1,但是必需参数必须按照顺序传参。
}
复制代码

  • 注意: 可选位置参数和可选命名参数不能混合在一起使用,因为可选参数列表只能位于整个函数形参列表的最后。

void add7([num a, num b], {num c, num d}) {//非法声明,想想也没有必要两者一起混合使用场景。所以

}
复制代码

3、关于可选位置参数[num a, num b]和可选命名参数{num a, num b}使用场景

可能问题来了,啥时候使用可选位置参数,啥时候使用可选命名参数呢?

这里给个建议: 首先,参数是非必需的也就是可选的,如果可选参数个数只有一个建议直接使用可选位置参数[num a, num b];如果可选参数个数是多个的话建议用可选命名参数{num a, num b}. 因为多个参数可选,指定参数名传参对整体代码可读性有一定的增强。

4、参数默认值(针对可选参数)

首先,需要明确一点,参数默认值只针对可选参数才能添加的。可以使用 = 来定义命名和位置参数的默认值。默认值必须是编译时常量。如果没有提供默认值,则默认值为null

  • 可选位置参数默认值

num add(num a, num b, num c, [num d = 5]}) {//使用=来赋值默认值
return a + b + c + d;
}
main() {
print(add(1, 2, 3));//有默认值参数可以省略不传 实际上求和结果是: 1 + 2 + 3 + 5(默认值)
print(add(1, 2, 3, 4));//有默认值参数指定传入4,会覆盖默认值,所以求和结果是: 1 + 2 + 3 + 4
}
复制代码

  • 可选命名参数默认值

num add({num a, num b, num c = 3, num d = 4}) {
return a + b + c + d;
}
main() {
print(add(100, 100, d: 100, c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值