【Flutter/Dart】オプションパラメータとは?使い方/基礎から実践

最終更新日

この記事では、Dartの基本文であるオプションパラメータとは(オプション引数)についてまとめました。

基礎から実践までサンプルがあります。

動かすにはDartpadを使用してください。

オプションパラメータとは

オプションパラメータ(オプション引数)とは、関数に呼び出し時に値を渡さなくても呼ぶ出すことができる引数です。
格納したいオプションパラメータ(オプション引数)を[]で囲むと、オプションパラメータ(オプション引数)を設定できます。

また、さらにパラメータを「{ }」で囲むと関数を呼び出す際にパラメータと引数をまとめて渡すように指定できます。

使い方

オプションパラメータのみ

void main(通常の引数[オプションパラメータ]){
処理
}

通常の引数とオプションパラメータ

void main({まとめて渡したいオプションパラメータ}){
処理
}

サンプルーオプションパラメータをまとめて

void main() {
  int added = add(num1: 10, num2: 5);
  total(total: added);
}

int add({int num1 = 0, int num2 = 0}) => num1 + num2;
void total({int total = 0}) => print("合計値:$total");

サンプルー通常の引数とオプションパラメータ

void main(){
  var func = (param, [opt_param1, opt_param2]) {
  var result = param;
  if (opt_param1 != null) {
    result += opt_param1;
  }
  if (opt_param2 != null) {
    result += opt_param2;
  }
  return result;
};
print(func('hoge', 'piyo')); // == 'hogepiyo'
  }

解説

  1. 関数funcを宣言。引数にparam、オプションパラメータ(引数)にopt_param1,opt_param2を宣言。
  2. resultに引数であるparamを代入
  3. opt_param1が空でない時resultにopt_param1を追加
  4. 3同様にopt_param2が空でない時resultにopt_param2を追加
  5. resultをreturn(返す)

なのでfuncを表示させるとhogepiyoになる。

オプション引数と普通の引数の違い

下記のサンプルではエラーになります。オプション引数は、関数の引数としてはカウントされません

void main(){
  var func = ([opt_param1]) {
  var result; 
  if (true) {
    result += opt_param1;
  }
  return result;
};
print(func('hoge')); // == 'hogepiyo'
}

fem