博客
关于我
Dart开发之——函数
阅读量:100 次
发布时间:2019-02-26

本文共 1392 字,大约阅读时间需要 4 分钟。

一 概述

本文介绍Dart中的函数,涉及一下内容:

  • main函数
  • 自定义函数
  • 可选参数的函数
  • 匿名函数
  • 闭包

二 main函数

2.1 说明

  • main是整个程序的入口
  • 我们常见的main是省去了返回值,参数的函数

2.2 完整的main函数

void main(List
args){ print(args);}

在Program arguments处传入1,2,3后可以运行程序,并查看输出结果

三 自定义函数

3.1 说明

  • 自定义函数用于给自定义的功能函数命名

  • 函数返回值和类型在定义时,可以省略

  • 只有一行代码的返回语句,可用双箭头代替

  • 自定义一个函数满足下面的格式

    返回值 函数名(参数){	函数体}

3.2 自定义函数

按照规则定义函数

main() {  var result=addFunction(1, 1);  print(result);}int addFunction(int a, int b) {  return a + b;}

省略返回值和参数类型

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

双箭头返回语句定义

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

四 可选参数的函数

4.1 说明

  • Dart中可选参数分为名称可选参数位置可选参数
  • 名称可选参数中,参数列表放在大括号中;指明参数类型需要用required修饰,参数顺序不重要
  • 位置可选参数中,参数放在中括号中
  • 可选参数可以设置默认值,调用时,可以省去参数传入

4.2 名称可选参数

main() {  myFunc(age: 18,name: "张三");}myFunc({required String name, required int age}) {  if (name != null) {    print("名字是:$name");  }  if (age != null) {    print("年龄是:$age");  }}

4.3 位置可选参数

main() { myFunc2("张三");}myFunc2(String name,[int? age]) {  if (name != null) {    print("名字是:$name");  }  if (age != null) {    print("年龄是:$age");  }}

五 匿名函数

5.1 说明

  • 没有名字的函数称为匿名函数
  • 可以先给匿名函数变量赋值再调用;也可以直接通过匿名函数调用

5.2 示例

main() {  //先赋值再调用  var res = func(1, 2);  print(res);  //直接调用  (a, b) {    return a + b;  }(1, 2);}var func = (a, b) {  return a + b;};

六 闭包

6.1 说明

闭包是一种函数对象作用范围

6.2 示例

main() {  var package=func("张三");  print(package());}func(name){  return ()=>"Hello $name";}

说明:

  • 参数name只能在func内部使用,出了作用域就会失效
  • func函数返回一个匿名函数,这个匿名函数就是一个闭包

转载地址:http://ovkk.baihongyu.com/

你可能感兴趣的文章
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>
NIFI同步MySql数据源数据_到原始库hbase_同时对数据进行实时分析处理_同步到清洗库_实际操作06---大数据之Nifi工作笔记0046
查看>>
Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
查看>>
NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
查看>>
NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_处理器介绍_处理过程说明---大数据之Nifi工作笔记0019
查看>>
NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_实际操作---大数据之Nifi工作笔记0020
查看>>
NIFI大数据进阶_Json内容转换为Hive支持的文本格式_实际操作_02---大数据之Nifi工作笔记0032
查看>>
NIFI大数据进阶_Json内容转换为Hive支持的文本格式_操作方法说明_01_EvaluteJsonPath处理器---大数据之Nifi工作笔记0031
查看>>
NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka消费者处理器_来消费kafka数据---大数据之Nifi工作笔记0037
查看>>
NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka生产者---大数据之Nifi工作笔记0036
查看>>
NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
查看>>
NIFI大数据进阶_NIFI监控功能实际操作_Summary查看系统和处理器运行情况_viewDataProvenance查看_---大数据之Nifi工作笔记0026
查看>>
NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
查看>>
NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
查看>>
NIFI大数据进阶_NIFI集群知识点_集群的断开_重连_退役_卸载_总结---大数据之Nifi工作笔记0018
查看>>
NIFI大数据进阶_使用NIFI表达式语言_来获取自定义属性中的数据_NIFI表达式使用体验---大数据之Nifi工作笔记0024
查看>>
NIFI大数据进阶_内嵌ZK模式集群1_搭建过程说明---大数据之Nifi工作笔记0015
查看>>
NIFI大数据进阶_内嵌ZK模式集群2_实际操作搭建NIFI内嵌模式集群---大数据之Nifi工作笔记0016
查看>>
NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
查看>>
NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_实际操作_03---大数据之Nifi工作笔记0035
查看>>