Dart笔记(12):函数 Function

函数定义

int add(int x) {
  return x + 1;
}

调用
add(1);

定义时函数类型可以省略 (不建议省略)

函数都有返回类型,void类型函数 实际返回null

函数可以在函数内部定义,无限嵌套

当函数只有一行表达式时,可以使用箭头简写

int add(int a) => a + 1;

可选位置参数

把可选参数放到 [] 中,必填参数要放在可选参数前面

int add(int x, [int y, int z]) {
  if (y == null) {
    y = 1;
  }
  if (z == null) {
    z = 1;
  }
  return x + y + z;
}

调用
add(1, 2);

可选位置参数 默认值

int add(int x, [int y = 1, int z = 2]) {
  return x + y;
}

调用
add(1, 2);

可选命名参数

int add({int x = 1, int y = 1, int z = 1}) {
  return x + y + z;
}

调用
add(x: 1, y: 2);

函数内定义

void main(){
  int add(int x){
    return x + x;
  }
  print(add(1));
}

闭包,返回函数对象Funcation

Function makeAdd(int x) {
  return (int y) => x + y;
}

调用
var add = makeAdd(1);    //x:1
print(add(5));            //y:5

匿名函数

 //无参匿名
 var func=() => print('abc');
 //有参匿名
 var func=(name) => print('${name}');

 //通过()调用,不推荐
 (()=>print('abc'))();//不建议这样写

 //匿名函数传参
  List test(List list, String func(str)) {
    for (var i = 0; i < list.length; i++) {
      list[i] = func(list[i]);
    }
    return list;
  }
print(test(['aa','bb'],(str)=> str * 2 ));

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 8,097评论 2 9
  • JavaScript的相关语法知识:1、函数(important)基本上所有的高级语言(C、OC、JavaScri...
    天山雪莲_38324阅读 3,860评论 0 2
  • 函数 函数是执行特定任务的自包含代码块。给定函数一个名称作为标识,并在需要的时候通过调用其名称来执行任务。 Swi...
    BoyceC阅读 3,290评论 0 1
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 10,246评论 0 5
  • 第5章 函数和函数式编程 5.1 引言函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数...
    VIVAFT阅读 4,597评论 0 5

友情链接更多精彩内容