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
値またはエラーを返す方法。