関数から複数の値を返す 質問する

関数から複数の値を返す 質問する

Go (または他の言語) のように、関数の return ステートメントで複数の値を返す方法 (オブジェクトを返す以外) はありますか?

たとえば、Go では次のように実行できます。

func vals() (int, int) {
    return 3, 7
}

これを Dart で実行できますか? 次のようになります:

int, String foo() {
    return 42, "foobar";
} 

ベストアンサー1

Dart 3.0 に更新

Dart 3.0ではレコードは

(int, String) foo() {
    return (42, "foobar");
} 

void main() {
  var (a,b) = foo();
  print("int: ${a}");
  print("String: ${b}");
}

元の回答

Dart は複数の戻り値をサポートしていません。

配列を返すこともできます。

List foo() {
  return [42, "foobar"];
}

または、値を型付けしたい場合は、Tupleパッケージのようなクラスを使用しますhttps://pub.dev/packages/tuple提供します。

参照either値またはエラーを返す方法。

おすすめ記事