0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Dart】Dart 関数の定義と呼び出し

Last updated at Posted at 2025-10-21

はじめに

Dart では、関数(Function)を使うことで 処理の再利用コードの整理 ができます。
この記事では、関数の定義から呼び出し、戻り値、オプション引数 までを体系的に解説します。


1. 関数とは?

関数(Function) は、ひとまとまりの処理を再利用可能にしたものです。
Dart では、以下の構文で定義します。

戻り値の型 関数名(引数) {
  // 実行したい処理
  return 戻り値;
}

2. 基本的な関数の定義と呼び出し

// 定義
void greet(String name) {
  print('こんにちは、$name さん!');
}

// 呼び出し
void main() {
  greet('Anna');
}

解説

  • void は「戻り値がない」ことを意味します。
  • 引数 String name は、関数に渡すデータです。
  • 呼び出しは 関数名(引数) の形で行います。

3. 戻り値のある関数

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

void main() {
  int result = add(3, 5);
  print('結果は $result です');
}

ポイント

  • 戻り値の型を int と指定します。
  • return キーワードで値を返します。

4. アロー関数(短縮記法)

処理が1行だけなら、=> を使って簡潔に書けます。

int add(int a, int b) => a + b;

void main() => print(add(2, 3));

5. オプション引数(Optional Parameters)

① 位置指定オプション引数 [ ]

void greet([String name = 'ゲスト']) {
  print('こんにちは、$name さん!');
}

void main() {
  greet();        // デフォルト値が使われる
  greet('Jun');   // 引数を指定
}

② 名前付き引数 { }

void greet({required String name, int age = 0}) {
  print('こんにちは、$name さん($age 歳)');
}

void main() {
  greet(name: 'Anna', age: 25);
}

補足

  • {} 内の引数は 名前で指定 して渡します。
  • required を付けると省略できなくなります。

6. 無名関数(匿名関数 / ラムダ式)

関数をその場で定義して使うこともできます。

void main() {
  var greet = (String name) {
    print('やあ、$name!');
  };

  greet('Taro');
}

7. 関数を変数として扱う

Dart の関数は「第一級オブジェクト」なので、
変数やリストに格納して自由に扱えます。

int add(int a, int b) => a + b;
int multiply(int a, int b) => a * b;

void main() {
  var funcs = [add, multiply];
  print(funcs[0](2, 3)); // => 5
  print(funcs[1](2, 3)); // => 6
}

まとめ

概念 Dart での書き方 説明
基本定義 void greet(String name) 戻り値なし
呼び出し greet('Anna') 実行
戻り値あり int add(int a, int b) 値を返す
アロー関数 => 簡潔な書き方
オプション引数 [ ] / { } 値を省略可能
無名関数 (args) { ... } その場で関数定義
関数を変数に var f = add; 第一級オブジェクト

Dart の関数は、柔軟で表現力が高い のが特徴です。
Flutter の UI コールバック(onPressed: () => ...)なども、
すべてこの「関数の定義と呼び出し」の仕組みを使っています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?