dart关于函数的语法

目录

function 中=>的用法

Optional parameters(可选参数)

Default parameter values(默认参数值)



  1. function 中=>的用法

    isNoble(atomicNumber) {
      return _nobleGases[atomicNumber] != null;
    }
    
    bool isNoble(int atomicNumber) => _nobleGases[atomicNumber] != null;

    这个 => expr 语法是 { return expr; } 形式的缩写。=> 形式 有时候也称之为 胖箭头 语法。

    注意: 在箭头 (=>) 和冒号 (;) 之间只能使用一个 表达式 – 不能使用 语句。 例如:你不能使用 if statement,但是可以 使用条件表达式 conditional expression

  2. Optional parameters(可选参数)

  •  Optional named parameters(可选命名参数) 

   调用方法的时候,你可以使用这种形式 paramNamevalue 来指定命名参数。例如: 

enableFlags(bold: true, hidden: false);

  在定义方法的时候,使用 {param1param2, …} 的形式来指定命名参数:

enableFlags({bool bold, bool hidden}) {
  // ...
}
  • Optional positional parameters(可选位置参数)

  把一些方法的参数放到 [] 中就变成可选 位置参数了:

String say(String from, String msg, [String device]) {
  var result = '$from says $msg';
  if (device != null) {
    result = '$result with a $device';
  }
  return result;
}

  调用:

//下面是不使用可选参数调用上面方法 的示例:
assert(say('Bob', 'Howdy') == 'Bob says Howdy');
//下面是使用可选参数调用上面方法的示例:
assert(say('Bob', 'Howdy', 'smoke signal') ==
    'Bob says Howdy with a smoke signal');

 3.  Default parameter values(默认参数值)

  在定义方法的时候,可以使用 = 来定义可选参数的默认值。 默认值只能是编译时常量。 如果没有提供默认值,则默认值             为 null

void enableFlags({bool bold = false, bool hidden = false}) {
  // ...
}

// bold will be true; hidden will be false.
enableFlags(bold: true);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章