美文网首页
07Dart:函数

07Dart:函数

作者: tanhh | 来源:发表于2018-11-01 20:21 被阅读0次

    dart函数返回值是可选的,可以不知道返回值类型,但建议还是明确输入类型和返回类型方便修改,也方便阅读,函数也是对象,当没有指定返回值的时候,函数返回null

    String carName(String name)

    {

      return 'car $name!';

    }

    carName2(String name)

    {

      return 'car $name!';

    }

    //is is!操作符判断对象是否为指定类型,如num、String等

    assert(carName is Function);

    如果函数只是简单的返回一个表达式的值,可以使用箭头语法 =>expr;

    它等价于{return expr;}       可以写成carName2(name) =>'car $name!';

    Dart中匿名函数的写法 (name)=>’car $name!’; 匿名函数var carName2 =  (name) =>'car $name!';

    typedef定义函数别名:作用就是为复杂的声明定义一个别名;

    原声明: 

    int *(*arr[5])(char *); 

    变量名为a,如想用一个新别名pFun替换arr,可以定义如下: 

    typedef int *(*pFun)(char *); 

    原声明的最简化版: 

    pFun arr[5];

    函数闭包:

    Function makeSubstract(num n)

    {

      return (num i) => n - i;

    }

    void main()

    {

      var x = makeSubstract(5);

      print(x(2));

    }

    初始化变量的时候,参数对应的是函数的参数num n,调用函数类型变量的时候,参数对应的是返回值中的参数num i

    Dart中支持两种可选参数:命名可选参数和位置可选参数,但两种可选不能同时使用

    命名可选参数使用大括号{},默认值用冒号:

    位置可选参数使用方括号[],默认值用等号=

    相关文章

      网友评论

          本文标题:07Dart:函数

          本文链接:https://www.haomeiwen.com/subject/tmffxqtx.html