Flutter学习-03-dart语法学习(中)

964 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

  • 本文主要介绍dart中方法的使用。

1. dart方法和箭头函数

dart中方法,方法也是一个对象。当方法的执行语句只有一句的时候,可以是由箭头函数=>表达式

image.png 方法的返回值和参数类型可以省略

image.png 我们也可以也这样的方式简洁,也可以配合三目运算

sum1 (a,b) => a+b;
sum1(a,b) => a==b?a-b:a+b;

2.dart方法中的可选参数

可选参数传递参数的时候必须带上形参的名字 我们在方法中添加可选参数时,用{}表示,并添加名字

image.png 参数b和c表示是动态

image.png

我们告诉编译器,处理了后面为空的情况.如果我们不给默认值的话,因为是可选的所以我们不一定是必填的,我们可以选择不写,但是会报错

image.png
我们也可以指定类型,但是也要做非空判断

image.png 我们不用非空判断的话可以直接赋值默认值

image.png 我们也可以不带形参名,可以指定默认赋值,调用的时候就不能指定参数了,只能按顺序赋值。

image.png

3.dart中匿名方法

  • 没有方法名称的方法下面的方法中1和2效果相同,3没有调用相当于。 image.png

4.dart中方法作为参数传递

方法也是一个对象,可以赋值一个变量,我们可以直接调用这个变量,当方法有返回方法

image.png 我们定义一个数组,打印里面的元素,类似我们iOS中的for循环enumerateObjectsUsingBlock

image.png 我们把函数作为参数传递的话类似block闭包list.forEach(print)中我们把print方法作为参数传递进去。

image.png 底层实现也是for in循环执行我们传入的方法,我们自定义一个类似的

image.png

我们也可以把匿名函数作为参数进行传递

image.png

5. dart方法中的闭包

定义在函数里面的函数就是闭包,闭包也是一个对象

image.png 闭包的作用:可以访问外部函数的局部变量

image.png 以上就是源于dart中方法的使用。