如果你看到这个Google I/O'19演示:https://youtu.be/d_m5csmrf7I?t=498
在8:18,在_onValueChanged
中,有
setState(()=>_value = value);
但在Dart官方网站上,它说只有"表达式"可以出现在胖箭头后面(=>):
=比;expr语法是{returnexpr的简写;} .
(实际上和setState((){return _value = value})
是一样的)
我认为赋值_value=value
是一个语句,而不是表达式。
这怎么可能?
没有矛盾。赋值是表达式的一种类型。这就是像这样的代码:
int x;
int y;
x = y = 42;
有效:x = y = 42
是一个复合表达式,它被求值为x = (y = 42)
。