Return multiple values from function

Alexi Coard picture Alexi Coard · Jul 26, 2017 · Viewed 33.1k times · Source

Is there a way to return several values in a function return statement (other than returning an object) like we can do in Go (or some other languages)?

For example, in Go we can do:

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

Can this be done in Dart? Something like this:

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

Answer

Günter Zöchbauer picture Günter Zöchbauer · Jul 26, 2017

Dart doesn't support multiple return values.

You can return an array,

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

or if you want the values be typed use a Tuple class like the package https://pub.dartlang.org/packages/tuple provides.

See also either for a way to return a value or an error.