🌟

【Flutter】入門!Dart基本「Status、parameter」

に公開

Status

ステータスをDartのコードで表現するには、通常、列挙型(enum)を使用することが一般的です。列挙型は、特定の一連の値を表すために使用されます。以下に、"Approved"、"Pending"、"Rejected"を表す列挙型とそれに関連するコード例を示します。

dart
// Status 列挙型を定義
enum Status {
  approved,
  pending,
  rejected,
}

void main() {
  // 例: ステータスを使ったコード
  var projectStatus = Status.pending;

  if (projectStatus == Status.approved) {
    print('Project is approved');
  } else if (projectStatus == Status.pending) {
    print('Project is pending');
  } else if (projectStatus == Status.rejected) {
    print('Project is rejected');
  } else {
    print('Invalid status');
  }
}

上記の例では、列挙型Statusを定義し、その値であるapproved、pending、rejectedを使用してステータスを表現しています。そして、プロジェクトのステータスに応じて適切な文言を表示しています。

このコードを実行すると、projectStatusがStatus.pendingに設定されているため、"Project is pending"というメッセージが表示されるでしょう。必要に応じて、別のステータスを試してみてください。

このように、列挙型を使用することで、コード内で異なるステータスを管理し、処理することができます。また、ステータスの追加や変更が容易であり、コードの可読性を向上させるのに役立ちます。

parameter

Dartにおけるパラメータと引数、位置引数、オプショナルパラメータについて説明し、それに関連するコード例を示します。

パラメータと引数

パラメータ: 関数やメソッドの宣言時に指定される変数のことを指します。パラメータは関数の内部で使用される値を受け取るための変数です。
引数: 関数を呼び出す際に渡される値のことを指します。関数呼び出しの際、引数として関数のパラメータに対応する値を渡します。

位置引数

位置引数は、関数呼び出し時に引数の順序でパラメータに値を渡す方法です。デフォルトでは位置引数が使用されます。関数宣言時のパラメータと関数呼び出し時の引数の順序が一致している必要があります。

dart
void greet(String name, int age) {
  print('Hello $name! You are $age years old.');
}

void main() {
  greet('Alice', 25); // 位置引数を使用して関数を呼び出し
}

オプショナルパラメータ

オプショナルパラメータは、関数呼び出し時に必要に応じて値を渡すことができるパラメータです。オプショナルパラメータには2つの種類があります。

位置付けされたオプショナルパラメータ

{}で囲まれたパラメータを指定することで、位置付けされたオプショナルパラメータを使用できます。

dart
void greet(String name, [String? title]) {
  if (title != null) {
    print('Hello $title $name!');
  } else {
    print('Hello $name!');
  }
}

void main() {
  greet('Bob');           // オプショナルパラメータを省略して呼び出し
  greet('Eve', 'Ms.');    // オプショナルパラメータを指定して呼び出し
}

名前付きオプショナルパラメータ

{}内で:を使ってパラメータを指定することで、名前付きオプショナルパラメータを使用できます。

dart
void greet({required String name, String? title}) {
  if (title != null) {
    print('Hello $title $name!');
  } else {
    print('Hello $name!');
  }
}

void main() {
  greet(name: 'Charlie');                // 名前付きオプショナルパラメータを省略して呼び出し
  greet(name: 'David', title: 'Dr.');   // 名前付きオプショナルパラメータを指定して呼び出し
}

オプショナルパラメータを使用することで、関数呼び出し時に必要な情報だけを渡すことができ、柔軟性のある関数を作成することができます。

named parameter

Dartの名前付きパラメータ(Named Parameters)は、関数呼び出し時に引数をパラメータの名前で指定する方法です。位置引数(Positional Parameters)とは異なり、引数がどのパラメータに対応しているかが明示的にわかるため、順序に気を使う必要がありません。名前付きパラメータを使用すると、オプションの引数をより明確に指定できます。

以下に、名前付きパラメータの概要とコード例を示します。

dart
void printDetails({String name, int age, String country}) {
  print('Name: $name');
  print('Age: $age');
  print('Country: $country');
}

void main() {
  // 名前付きパラメータを使用して関数を呼び出し
  printDetails(name: 'Alice', age: 25, country: 'USA');
}

上記のコードでは、printDetails関数が3つの名前付きパラメータ name、age、country を持っています。関数を呼び出す際に引数を名前で指定しています。この方法により、引数の順序に気を使わずに適切な値を渡すことができます。

名前付きパラメータを使う際の注意点

名前付きパラメータは、関数の宣言時に {} 内で指定します。
名前付きパラメータを使用する場合、必ずパラメータ名を指定する必要があります。
名前付きパラメータは位置引数と組み合わせて使用することもできます。
名前付きパラメータを使用することで、関数呼び出しの可読性と柔軟性を向上させることができます。特に、オプションの引数が多い場合や、引数の順序を覚える必要がない場合に便利です。

void

Dartのvoidは、関数が戻り値を返さないことを示す型です。関数が値を返さない場合に、その戻り値型としてvoidを指定します。void型の関数は、主に副作用(Side effect)を実行するために使用されます。以下に詳細とコード例を示します。

dart
void greet(String name) {
  print('Hello, $name!');
}

void main() {
  greet('Alice');
}

上記の例では、greetという関数が定義されています。この関数は、引数として与えられた名前を使って挨拶を出力します。void型の関数は値を返さないため、関数の宣言時に戻り値の型としてvoidを指定します。

void型の関数は、処理を実行するためだけに使用されることが多いですが、必要に応じて副作用として値を変更することもあります。例えば、データベースにデータを書き込む、ファイルを操作する、画面にメッセージを表示するなどの操作が考えられます。

dart
void saveData(String data) {
  // データをデータベースに保存する処理
}

void main() {
  var inputData = 'Some data';
  saveData(inputData);
  print('Data saved successfully.');
}

上記の例では、saveData関数がデータをデータベースに保存する処理を行います。この関数はvoid型であり、データの保存が完了したかどうかを戻り値で示す必要はありません。コードの実行結果に応じて副作用が発生します。

void型の関数は、アプリケーション内で動作を実行するために使用される基本的なツールです。関数の戻り値が必要ない場合や、副作用の実行が目的の場合に使用します。

Discussion