zoukankan      html  css  js  c++  java
  • Dart:函数 Function

    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 ));
  • 相关阅读:
    LINUX按键驱动程序
    s3c2440地址分配
    Linux内核代码
    C语言初始化
    tftp协议
    ARM工作模式
    Bootstrap3隐藏滑动侧边栏菜单代码特效
    javascript 中slice,substr,substring方法的对比
    vue 的简述
    鼠标移动出自己想要的效果
  • 原文地址:https://www.cnblogs.com/liuys635/p/14747182.html
Copyright © 2011-2022 走看看