我有一个关于飞镖功能的基本问题:

I have a basic question on dart function:

我在dartpad中写了一点代码:

void main() {
  greet('Jack');
  double result = myFunction();
  print(result);
}

void greet (String personToGreet) {
  print('Hello, $personToGreet)
}

double myFunction () {
  double pi = 3.1415926;
  return pi * 2;
}

所以,对于 myFunction 部分,为什么我不能做与 greet 函数相同的事情,它将函数类型从 double 更改为 void 并替换 return 关键字最后用打印语句结束 'pi * 2'?

而对于main函数中的myFunction部分,我可以直接调用这个特定的函数而不是将它传递给一个变量然后打印变量吗?

您的函数 greet 需要一个 String 类型的参数。这意味着你不能传递它 result,这是一个 double。试试这个:

void main() {
  greet('Jack');
  double result = myFunction();
  print(result.toString());
}

此外,您似乎缺少 Hello

的结束引号