likes
comments
collection
share

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

作者站长头像
站长
· 阅读数 27
  • 本文主要介绍dart中方法的使用。

1. dart方法和箭头函数

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

Flutter学习-03-dart语法学习(中) 方法的返回值和参数类型可以省略

Flutter学习-03-dart语法学习(中) 我们也可以也这样的方式简洁,也可以配合三目运算

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

2.dart方法中的可选参数

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

Flutter学习-03-dart语法学习(中) 参数b和c表示是动态

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

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

Flutter学习-03-dart语法学习(中) 我们也可以指定类型,但是也要做非空判断

Flutter学习-03-dart语法学习(中) 我们不用非空判断的话可以直接赋值默认值

Flutter学习-03-dart语法学习(中) 我们也可以不带形参名,可以指定默认赋值,调用的时候就不能指定参数了,只能按顺序赋值。

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

3.dart中匿名方法

  • 没有方法名称的方法下面的方法中1和2效果相同,3没有调用相当于。 Flutter学习-03-dart语法学习(中)

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

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

Flutter学习-03-dart语法学习(中) 我们定义一个数组,打印里面的元素,类似我们iOS中的for循环enumerateObjectsUsingBlock

Flutter学习-03-dart语法学习(中) 我们把函数作为参数传递的话类似block闭包list.forEach(print)中我们把print方法作为参数传递进去。

Flutter学习-03-dart语法学习(中) 底层实现也是for in循环执行我们传入的方法,我们自定义一个类似的

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

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

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

5. dart方法中的闭包

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

Flutter学习-03-dart语法学习(中) 闭包的作用:可以访问外部函数的局部变量

Flutter学习-03-dart语法学习(中) 以上就是源于dart中方法的使用。

转载自:https://juejin.cn/post/7023213920278020132
评论
请登录