コードを関数に整理する

Dart:
コードを関数に整理する

方法:

基本的な関数

Dartでは、関数はvoidキーワードを使用して定義します。これは、値を返さない場合に使用します。また、それ以外の場合は返される値のタイプを指定します。以下は、挨拶メッセージを印刷するシンプルな関数の例です:

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

void main() {
  greet('Alice');  // 出力: Hello, Alice!
}

値を返す

関数は値を返すことができます。次の例は、二つの整数を入力として受け取り、それらの合計を返します:

int add(int a, int b) {
  return a + b;
}

void main() {
  var sum = add(5, 3);
  print(sum);  // 出力: 8
}

匿名関数

Dartは、その場での短い機能に便利な匿名関数(ラムダ式またはクロージャとしても知られている)をサポートします。リストのforEachメソッドで匿名関数を使用する方法は以下の通りです:

void main() {
  var fruits = ['apple', 'banana', 'cherry'];
  fruits.forEach((item) {
    print(item);
  });
  // 出力:
  // apple
  // banana
  // cherry
}

シングルエクスプレッション関数のためのアロー構文

一つの式のみを含む関数については、Dartは「アロー」記法(=>)を使用した簡潔な構文を提供します。これは、特に短い関数や関数を引数として渡す場合に便利です:

int square(int num) => num * num;

void main() {
  print(square(4));  // 出力: 16
}

サードパーティのライブラリを使用する

より複雑または特化した機能については、Dartプログラマーはしばしばサードパーティのライブラリに頼ります。HTTPリクエストを行うためのhttpライブラリを考えてみましょう。まず、依存関係の下にhttpをあなたのpubspec.yamlファイルに追加します:

dependencies:
  http: ^0.13.3

それから、ウェブからデータをフェッチするためにそれを使用できます:

import 'package:http/http.dart' as http;

Future<void> fetchUserData() async {
  var response = await http.get(Uri.parse('https://api.example.com/users/1'));
  print(response.body);
}

void main() {
  fetchUserData();
  // 期待される出力: ユーザーのJSONデータ。実際の出力はAPIの応答によって異なります。
}

Dartコードを関数にまとめるときは、再利用性、明確性、単一責任の原則について考えてください。これにより、コードはよりクリーンになり、他の人(そして未来のあなた)が理解して保守しやすくなります。