文章目录
- 一、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 ( 本篇博客的源码快照 , 可以找到本博客的源码 )