【问题标题】:Dart function in a function函数中的 Dart 函数
【发布时间】:2023-03-22 00:33:05
【问题描述】:

我的代码:

void main() {
  String name() {
    return "Uday Kiran";
  }

  void printF(var value) {
    print(value);
  }

  printF(name);
}

嘿,如果我的问题很愚蠢,我很抱歉。但我可能是编程新手,我坚持做这样的事情。我实际上想将 name 函数返回的字符串作为参数传递给我的 printF 函数,以便将字符串“Uday Kiran”打印在我的控制台上。但是我得到的输出是这样的:

  • 任何帮助都将不胜感激:)

【问题讨论】:

  • 您没有调用该方法,而是将其称为Function。您使用() 调用方法,因此您需要执行例如:printF(name());printF(var value) 也不是一个很好的方法签名,因为您随后允许每种类型作为参数,而不是限制为例如String.
  • 嘿,伙计,谢谢。感谢您在声明函数参数时提出的建议。
  • 好的,那我写一个答案。

标签: function dart closures


【解决方案1】:

问题是您将name 作为一个指向Function 的变量引用,而不是调用它指向的函数。在 Dart 中,您使用 () 调用函数(如果没有参数),因此您的示例应该是:

void main() {
  String name() {
    return "Uday Kiran";
  }

  void printF(String value) {
    print(value);
  }

  printF(name());
}

我还更改了argument 的类型,以指定您希望获得String 作为您问题中所述的参数。这样做,您还会收到一个错误,解释您的示例中 name 的问题。

【讨论】:

    猜你喜欢
    • 2021-12-25
    • 2018-09-18
    • 2019-07-31
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多