dart - Dart 中输出或引用参数的等效代码

标签 dart

在 Dart 中,我如何最好地编写相当于(不可变/值/非对象) 的代码输出或引用参数 ?

例如在 C#-ish 中,我可能会编码:

function void example()
{
  int result = 0;
  if (tryFindResult(anObject, ref result))
    processResult(result);
  else
    processForNoResult();
}

function bool tryFindResult(Object obj, ref int result)
{
  if (obj.Contains("what I'm looking for"))
  {
    result = aValue;
    return true;
  }
  return false;  
}

最佳答案

这在 Dart 中是不可能的。 Dart 邮件列表中讨论了对结构值类型、ref 或 val 关键字的支持,就像周一样。这是讨论的链接,您应该在其中表达您的愿望:
https://groups.google.com/a/dartlang.org/d/topic/misc/iP5TiJMW1F8/discussion
Dart 方式将是:

void example() {
  List result = tryFindResult(anObject);
  if (result[0]) {
    processResult(result[1]);
  } else {
    processForNoResult();
  }
}

List tryFindResult(Object obj) {
  if (obj.contains("What I'm looking for")) {
    return [true, aValue];
  }
  return [false, null];
}

关于dart - Dart 中输出或引用参数的等效代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12080422/

相关文章:

sqlite - 插入sqlite flutter 而不卡住界面

flutter - 如何在 Flutter 中将图像上传到服务器?

dart - Flutter Firestore startAt() endtAt() 在 orderby 字符串值时不起作用

flutter - Fresh Flutter项目出现错误:未定义函数 'runApp'

dart - 轻松检查数字是否在Dart中的给定范围内?

flutter - 如何将 native macOS 可执行文件与 flutter 应用程序捆绑在一起?

flutter - 在Flutter中异步加载图片

flutter - 如何在flutter应用程序中保存上次打开的屏幕

dart - Flutter在检查是否已挂载时返回noSuchMethodError

dart - 无法根据状态更改页面