【Flutter】Dart 函数 ( 函数构成 | 私有函数 | 匿名函数 | 函数总结 )

2023-03-28 21:16:58 浏览数 (2)

文章目录

  • 一、Dart 函数构成
  • 二、Dart 私有函数
  • 三、Dart 匿名函数
  • 四、完整代码示例
  • 五、Dart 方法总结
  • 六、 相关资源

一、Dart 函数构成


Dart 函数构成 : 方法名 , 参数 , 返回值 ;

返回值类型 :

  • ① 缺省 : 返回值类型可以缺省 ;
  • ② 空类型 : 返回值类型可以设置为 void ;
  • ③ 真实类型 : 返回值类型可以设置为真实的数据类型 ;

方法名 :

  • ① 匿名方法 : 不需要方法名 ;
  • ② 普通方法 : 除匿名方法之外的其它方法都需要方法名 ;

参数 :

  • ① 组成 : 参数包括 参数类型 , 参数名 ;
  • ② 类型缺省 : 参数类型可以缺省 ;
  • ③ 参数分类 : 可选参数 , 默认参数 ;

标准方法示例 :

代码语言:javascript复制
  /// 标准方法
  /// 返回值是 int 类型
  /// 函数名是 sum
  /// 参数是 int num1, int num2
  int sum(int num1, int num2){
    return num1   num2;
  }

二、Dart 私有函数


私有方法 :

  • 简介 : 只有在当前文件中可以访问的方法称为私有方法 ;
  • 格式 : 在方法名之前添加下划线 , 标识该方法是私有方法 ;

私有方法示例 :

代码语言:javascript复制
  /// 该方法是私有方法
  int _minus(int num1, int num2){
    return num1 - num2;
  }

三、Dart 匿名函数


匿名方法 : 只有参数列表和方法体 , 没有方法名称 , 匿名方法可以赋值给一个变量 ,

匿名方法 与 命名方法 相对应 , 普通的方法就是命名方法 ;

匿名方法格式如下 : 括号中是参数列表 , 大括号中是方法体 ;

代码语言:javascript复制
(参数类型 参数名, 参数类型2 参数名2){
	/// 匿名方法方法体
};

匿名方法示例 :

代码语言:javascript复制
  /// 匿名方法示例
  anonymousFunction(){
    var list = ['Tom', 'Jerry'];
    list.forEach(
        /// 下面的方法是匿名方法, 只有参数列表和方法体
        (i){
          print(list.indexOf(i));
        }
    );
  }

四、完整代码示例


代码语言:javascript复制
class Function{

  /// 标准方法
  /// 返回值是 int 类型
  /// 函数名是 sum
  /// 参数是 int num1, int num2
  int sum(int num1, int num2){
    return num1   num2;
  }

  /// 该方法是私有方法
  int _minus(int num1, int num2){
    return num1 - num2;
  }

  /// 匿名方法示例
  anonymousFunction(){
    var list = ['Tom', 'Jerry'];
    list.forEach(
        /// 下面的方法是匿名方法, 只有参数列表和方法体
        (i){
          print(list.indexOf(i));
        }
    );
  }

}

五、Dart 方法总结


入口方法 : 在 main.dart 中的 main() 方法 ;

代码语言:javascript复制
void main() => runApp(MyApp());

构造方法 : 参考 【Flutter】Dart 面向对象 ( 命名构造方法 | 工厂构造方法 | 命名工厂构造方法 ) 博客中的命名构造方法 , 工厂构造方法等 ;

getter 和 setter 方法 : 使用 get 和 set 关键字定义的方法 , 参考 【Flutter】Dart 面向对象 ( get 方法 | set 方法 | 静态方法 ) 博客 ;

静态方法 : static 关键字修饰的方法 ; 参考 【Flutter】Dart 面向对象 ( get 方法 | set 方法 | 静态方法 ) 博客 ;

抽象方法 : 没有方法体的方法 ; 参考 【Flutter】Dart 面向对象 ( 抽象类 | 抽象方法 ) 博客 ;

私有方法 : 方法名以下划线开头 ;

匿名方法 : 只有参数列表和方法体 , 没有方法名称 ;

六、 相关资源


参考资料 :

  • Flutter 官网 : https://flutter.dev/
  • Flutter 开发文档 : https://flutter.cn/docs ( 强烈推荐 )
  • 官方 GitHub 地址 : https://github.com/flutter
  • Flutter 中文社区 : https://flutter.cn/
  • Flutter 实用教程 : https://flutter.cn/docs/cookbook
  • Flutter CodeLab : https://codelabs.flutter-io.cn/
  • Dart 中文文档 : https://dart.cn/
  • Dart 开发者官网 : https://api.dart.dev/
  • Flutter 中文网 ( 非官方 , 翻译的很好 ) : https://flutterchina.club/ , http://flutter.axuer.com/docs/
  • Flutter 相关问题 : https://flutterchina.club/faq/ ( 入门阶段推荐看一遍 )

博客源码下载 :

  • GitHub 地址 : https://github.com/han1202012/flutter_app_hello ( 随博客进度一直更新 , 有可能没有本博客的源码 )
  • 博客源码快照 : https://download.csdn.net/download/han1202012/15452191 ( 本篇博客的源码快照 , 可以找到本博客的源码 )

0 人点赞