首页 > 其他 > 详细

Dart:函数 Function

时间:2021-05-09 11:07:48      阅读:28      评论:0      收藏:0      [点我收藏+]

1.函数定义

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

调用
add(1);

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

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

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

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

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

 

2.可选位置参数

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

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 ));

 

Dart:函数 Function

原文:https://www.cnblogs.com/liuys635/p/14747182.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!