假设我有:
Function(int x, int y) func = (int x, int y) { return (1, 2); // error };
如何从上面的函数中返回(1,2)?
kokeuurv1#
Dart中的方法只能返回一个值。因此,如果你需要返回多个值,你需要将它们打包到另一个对象中,例如。可以是您自己定义的类、列表、Map或其他东西。在使用x和y的情况下,可以考虑使用dart:math中的Point类:
dart:math
Point
import 'dart:math'; Point<int> func(int x, int y) => Point(x, y);
在Dart中返回多个值的支持是一个正在进行的讨论:https://github.com/dart-lang/language/issues/68
r55awzrz2#
现在,Dart 3.0中的函数可以通过Record功能返回多个值。
(int, int) testFunc(int x, int y) { return (1, 2); }
使用记录模式进行析构
var (x, y) = testFunc(2,3); print(x); // Prints 1 print(y); // Prints 2
2条答案
按热度按时间kokeuurv1#
Dart中的方法只能返回一个值。因此,如果你需要返回多个值,你需要将它们打包到另一个对象中,例如。可以是您自己定义的类、列表、Map或其他东西。
在使用x和y的情况下,可以考虑使用
dart:math
中的Point
类:在Dart中返回多个值的支持是一个正在进行的讨论:https://github.com/dart-lang/language/issues/68
r55awzrz2#
现在,Dart 3.0中的函数可以通过Record功能返回多个值。
使用记录模式进行析构