Dart语法基础系列六《函数》

wuchangjian2021-11-03 07:31:58编程学习

通过实战了解Dart的函数常用知识点

通过简单的实例,更快捷的了解Dart函数相关知识。示例以最简单的sum 函数开始。

函数定义


方法一

首先我们 以JavaScript的方式定义Sum函数

  sum(a, b) {
    return a + b;
  }

  print(sum(2, 3));

运行一下是可以的,类型和返回值都会自动的推断,默认dynamic

方法二

我们加上类型改造下sum,这样就限制了传入类型。

  int sum(int a, int b) {
    return a + b;
  }

方法三(简写)

当然,简单的表达式可以省略部分

   sum(a, b) => a + b;

 

函数命名参数

函数传入的时候,我们想显示a,b 参数的名称。dart 既支持像js 一样传参,又满足C家族函数形参名的形式。

 sum({required int a, required int b}) {
      return a + b;
    }

 sum(a: 3, b: 4);

函数可选参数

可选参数分为两类:

  • 匿名参数可选
  • 具名参数可选

匿名参数可选

sum 添加一个参数c,可选。可选部分加上[]即可

sum(a, b, [c]) {
      return a + b + (c ?? 0);
    }

sum(2, 2);

具名参数可选

具名参数,需要加上可选修饰符?

    sum({required int a, required int b, int? c}) {
      return a + b + (c ?? 0);
    }

    sum(a: 3, b: 4);

函数默认值

  • 只有可选参数才有默认值,必选参数不能设置
  • 可选参数如果不写默认值,默认为null
 sum({required int a, required int b, int? c = 2}) {
      return a + b + (c ?? 0);
    }

 sum(a: 3, b: 4);

匿名函数 和 箭头表达式

匿名函数

匿名函数格式:

([[Type] param1[, …]]) { codeBlock; };

函数作为对象可以赋值给变量,我们可以写一个匿名sum函数赋值给变量.

把刚才的函数改造下,删去名字即可。

 Function aa = ({required int a, required int b, int? c = 2}) {
      return a + b + (c ?? 0);
    };

 aa(a: 3, b: 4);

箭头表达式

dart 匿名函数 对应js 箭头函数。dart 箭头函数作用只是省略{} ,后面跟表达式。

Function aa = ({required int a, required int b, int? c = 2}) => a + b + (c ?? 0)

aa(a: 3, b: 4);

相关文章

01-JDBC

...

十年来,湖南的经贸“朋友圈”遍布全球227个国家和地区

2022-08-16 14:27:48 8月16日上午,湖南打造内陆地...

python文件读写

一、读写模式 r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。rb以...

Metasploit的应用

Metasploit的应用

一、生成被控端 首先打开终端输入msfvenom -p windows/meterpr...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。