Dart语言笔记(运算符、箭头函数、可选参数)

注:本文仅记录一些和java语法不甚相同或较难理解部分,方便个人的查找和学习

1.在 Dart 中有两个比较特殊的运算符。

  • 赋值运算符 ??=
  • 条件运算符 ??
void operatorTest(){
//  dart中的运算符
/*
* 赋值运算符 ??=
* 条件运算符 ??
*
*/
  //举例

  var a;
  a ??= 10;//当a没有值的时候就赋值 10
  print(a);

  a ??= 5;
  print(a);
  a ??= 1;
  print(a);

}

代码运行结果

  • 条件运算符 ??

void operatorTest(){
//  dart中的运算符
/*
* 条件运算符 ??
*/
  var a;
  a ??= 10;//当a没有值的时候就赋值 10
  var b ;
  b = 5;
  print(b ?? a);// ??当左边有值就返回左边,否则返回右边

 代码运行结果

 2.Dart中的箭头函数

void main(){

  functionTest();

}
void functionTest() {
  print(sum(10, 10));
}
// 求和方法
int sum (int a,int b){
  return a +b ;
}

 返回值和参数类型可以省略。那么变形如下:

// 求和方法
sum (a,b) =>  a +b ;

 我个人理解为将大括号和return省略 由"=>"代替

 3.Dart中的可选参数

Dart中可选参数类型分为两种 

  • 由大括号{}包围
    特点:实现方法时,可以指定具体传递某一个参数。
    与python中关键字传参类似,位置可以不必须保持一致
  • 由中括号  [ ]  包围
    特点,多个可选参数时,默认按照前后顺序传递。
  • 共同点:括号内的参数传参时均可以不传递
void main(List<String> args) {
  print(getStr("xxx"));//xxx
  print(getStr("xxx",12));//xxx   12
  print(getPart1("大括号", pwd: "123", name: "小米")); // 顺序可以不同 
}


String getStr(String name,[int age]){// 这里由[ ]括起来的参数在调用时可以不传递
  if(age != null){
    return "$name   $age";
  }else {
    return name;
  }
String getPart1(var a, {String name, String pwd}) {//这里由 { } 括起来的参数在调用时可以不传递
  print("a=$a name=$name pwd=$pwd");
}

 4.Dart中类 中无论函数还是方法都不支持重载,方法名一样,参数不同会报错。

class A{
 
  A(){
 
  }
 
  A(int a){
    //这个地方会报错,说A()函数已经存在
  }
 
  A.eat(){
      //构造函数
  }
  A.sing(int food){
      //构造函数
  }
  A.sleep(){
      //构造函数
  }
 
}

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值