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