当前位置: 首页 > 知识库问答 >
问题:

dart函数-箭头语法冲突

锺离辰沛
2023-03-14

在“功能”部分中,它说

该=

注意:在箭头(=

但是在“匿名函数”部分中,它说

如果函数只包含一个语句,则可以使用箭头表示法缩短它

这是否意味着我可以在匿名函数中使用不是表达式的语句(例如if语句)?

var fun = () => return 3; // However, this doesn't work.
var gun = () {
  return 3;               // this works.
}

还是我混淆了表达和陈述的概念?我想

  • 表达式:可以求值为一个值(2 3,print(")也属于表达式)
  • 语句:可以执行的代码。所有表达式都可以是语句。如果语句和返回语句是不是表达式的语句的示例。
void foo() => true; // this works.
void goo() {
  return true;      // this doesn't work.
}
void hoo() {
  true;             // this works.
}

如果true被理解为表达式,那么它将意味着返回true,我相信它不应该起作用,因为foo的返回类型是无效的。

那么,这是否意味着在 foo 中被理解为一种陈述呢?但这一结论与飞镖语言之旅相矛盾。(它们是顶级命名函数)。此外,这意味着我们可以使用带有箭头语法的语句。

我使用了Vscade和来自Flatter:1.22.5的Dart。根据Vscade错误消息,我告诉代码哪些工作,哪些不工作。

因为这是我的第一个问题,我为我简短的英语和格式错误的问题道歉。

共有2个答案

丰赞
2023-03-14

我猜匿名函数下该部分的作者有点困惑。针对它提交问题,并得到纠正!

是的,即使在他们的示例中,他们也使用了print()函数,这可能会混淆为print“语句”,但显然不是。

花阳辉
2023-03-14

它必须是一个表达式。该文本具有误导性。

对于第二部分,您看到的错误

void foo() {
  return 0;
}

而不是

void bar() => 0;

是< code>=

因为人们喜欢<code>void foo()的简写符号=

 类似资料:
  • 不鼓励将箭头函数(“lambdas”)传递给 Mocha。Lambdas词法绑定 this,无法访问 Mocha 上下文。例如,以下代码将失败: describe('my suite', () => { it('my test', () => { // should set the timeout of this test to 1000 ms; instead will fail thi

  • ES6标准新增了一种新的函数:Arrow Function(箭头函数)。 为什么叫Arrow Function?因为它的定义用的就是一个箭头: x => x * x 上面的箭头函数相当于: function (x) { return x * x; } 在继续学习箭头函数之前,请测试你的浏览器是否支持ES6的Arrow Function: 'use strict'; ---- var f

  • 新的“胖箭头”符号还可以用更简单的方式来定义匿名函数。 请看下面的例子: console.log(x); incrementedItems.push(x+1); }); 计算一个表达式并返回值的函数可以被定义更简单: 下面代码与上面几乎等价: incrementedItems = items.map(function (x) { return x+1; 让我们在 验

  • 主要内容:1.语法变化,2.带参数的箭头函数,3.带有默认参数的箭头函数,4.带有Rest参数的箭头函数,5.无括号的箭头函数,6.箭头函数的优点ES6中引入了箭头(Arrow)函数,它提供了一种更准确的JavaScript编写方法。 它们让我们能够编写较小的函数语法。 箭头函数的代码更具可读性和结构性。 箭头函数是匿名函数(没有名称且未与标识符绑定的函数)。 它们不返回任何值,并且可以在不使用关键字的情况下进行声明。 箭头函数不能用作构造函数。 箭头函数中的上下文是按词汇或静态方式定义的。 它

  • 本文向大家介绍PHP 7.4 新语法之箭头函数实例详解,包括了PHP 7.4 新语法之箭头函数实例详解的使用技巧和注意事项,需要的朋友参考一下 短闭包,也叫做箭头函数,是一种用 php 编写的短函数.当向函数中传递闭包时,这个功能是非常有用的,比如使用 array_map 或是 array_filter函数时. 这就是它们看起来的样子: 而以前,你必须这样写: 我们来总结一下短闭包函数如何使用.