サンプル集  >  Flutter  >  関数
関数
2024/12/01

関数の例です。

◆環境
OS Windows 10 Home 22H2 64bit OS x64 プロセッサ
Flutter 3.24.2
Dart 3.5.4
Android Studio Iguana 2023.2.1 Patch 1

[New]-[New Flutter Project...]出プロジェクトを作成します。

プロジェクト名は「ymflu004」としました。

~/lib/main.dartのコメント行を全て削除します。

関数を定義し+ボタンを押したときにコンソールに結果を表示するようにしてみます。

main.dart
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  // 関数定義
  int myAdd(int a, int b) {
    return (a+b);
  }

  // 関数定義:アロー構文
  int myAdd3(int a, int b) => a + b;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });

    // 関数呼び出し
    debugPrint('(1) 1 + 2 = ${myAdd(1, 2)}');

    // ラムダ式(無名関数)を変数に代入し利用
    final myAdd2 = (int a, int b) {
      return (a+b);
    };
    debugPrint('(2) 1 + 2 = ${myAdd2(1, 2)}');

    debugPrint('(3) 1 + 2 = ${myAdd3(1, 2)}');

    // アロー構文(無名関数)を変数に代入し利用
    final myAdd4 = (int a, int b) => a + b;
    debugPrint('(4) 1 + 2 = ${myAdd4(1, 2)}');
  }

実行して+ボタンを押すとコンソールにメッセージが表示されました。

I/flutter (26996): (1) 1 + 2 = 3
I/flutter (26996): (2) 1 + 2 = 3
I/flutter (26996): (3) 1 + 2 = 3
I/flutter (26996): (4) 1 + 2 = 3

期待通りに動作しましたがソース上に警告が表示されています。


変数に関数をバインドする場合、変数代入ではなく関数宣言をするようにとのようです。

今回はこのままにします。

▲ PageTop  ■ Home


Copyright (C) 2024 ymlib.com