dart基础---函数

作者: 凯瑟鸭 | 来源:发表于2021-12-25 17:07 被阅读0次

Dart中函数是对象其类型为Function,可以作为参数被另一个函数调用也可以作为一个变量。Dart中不支持函数的重载(同名,不同参),但是提供了位置可选参数和命名可选参数(都是可选参数),位置可选参数和命名可选参数不可以同时使用并在申明的时候得放在其它参数之后,二者的区别是命名可选参数的调用与申明顺序无关而位置可选参数则相反。

语法:

返回参数类型函数名(参数1, 参数2,....) {

函数代码

}

调用函数语法:

函数名(参数1, 参数2,....);

演示代码:

void main(List args){

var res = P_Group(5, 8);

  //必选参数

  print("P_Group is "+ res.toString());

  //可选参数---位置可选参数、命名可选参数

  var res1 = P_Group1(5, 5,5);

  var res2 = P_Group1(5, 5);

  //位置可选参数调用和声明的位置有关如下列第三个会编译不通过报错

//type 'String' is not a subtype of type 'int' of 'c' where

  print("位置可选参数 --P_Group1  "+ res1);

  print("位置可选参数----没有传使用默认的---P_Group1 "+ res2);

//  print("位置可选参数----P_Group1  "+ P_Group1(10, 10,"yf"));

  print("位置可选参数----P_Group1  "+ P_Group1(10, 10,));

  print("箭头函数---P_Group2 is "+P_Group2(10, 1));

  //命名可选参数调用,其调用顺序和声明顺序无关    调用方式:参数名: 参数值

  print("命名可选参数"+item(12,d:10));

  print("命名可选参数"+item(8,d:10,msg:"yf"));

  print("命名可选参数"+item(80,msg:"yf",d:20));

  print("命名可选参数"+item(80,msg:"yf",d:20));

  print("函数作为参数  "+ item2(res,"yf"));

  //匿名函数

  Map user = {'name':'ddh','age':18};

  user.forEach((kye,value)=> print(kye+' '+value.toString()));

}

intP_Group(int a,int b)=> a+b;

//位置可选参数

StringP_Group1(int a,int b,[int c,String msg ="ddh"]){

if(c ==null){

return msg+" A+B= "+(a+b).toString();

    }

return msg+" A+B+C= "+(a+b+c).toString();

}

//箭头函数  只能有一行,可以没有return

StringP_Group2(int a,int b,[int c =10])=> (a+b+c).toString();

//命名可选参数,使用 = 号 定义命名参数默认值

Stringitem (int a,{int d,String msg ='ddh'}){

if(a >=10 && d !=null){

return "$a大于10了  "+msg;

  }

return "$a数小了  "+msg;

}

//函数作为参数

Stringitem2(P_Group,String msg){

return P_Group.toString()+"  "+msg;

}

运行结果:

若有不对之处还希望指正为谢!@~@

相关文章

  • dart基础---函数

    Dart中函数是对象其类型为Function,可以作为参数被另一个函数调用也可以作为一个变量。Dart中不支持函数...

  • Dart基础: 构造函数

    Dart基础: 构造函数 Dart的构造函数比较变化多端, 我们可以在不同的场景下合理声明和调用一个class的构...

  • Dart基础(四)-函数

    简介: Dart是一种真正的面向对象语言,所以函数也是对象,并且有一个类型Function。这意味着函数可以赋值给...

  • Dart 基础(四)

    前言笔者在之前已经写了3篇Dart的基础文章了。Dart 基础 (一)Dart 基础 (二)Dart 基础 (三)...

  • Dart 基础 (三)

    前言笔者在之前已经写了2篇Dart的基础文章了。Dart 基础 (一)Dart 基础 (二) 本文是Dart基础的...

  • Dart语法(下)

    前文链接: Dart简介 Dart语法(上) 内容: 函数(方法)函数定义及各类函数;函数参数;闭包 面向对象定义...

  • Dart/Flutter基础-函数(方法)

  • Dart语法基础-3函数

    1.函数的基本定义 Dart是一种真正的面向对象语言,所以即使函数也是对象,所有也有类型, 类型就是Functio...

  • Dart基础2-函数

    类型可以省去,省去类型默认为 dynamic 对于单个语句的函数,可以简写=>(return) 匿名函数(函数名)...

  • Dart语言基础之函数

    原文:https://www.dartlang.org/guides/language/language-tour...

网友评论

    本文标题:dart基础---函数

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