07Dart:函数

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中支持两种可选参数:命名可选参数和位置可选参数,但两种可选不能同时使用

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

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

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

相关阅读更多精彩内容

友情链接更多精彩内容