有没有一种方法可以使用Fat Arrow(=>)符号将以下函数写成单行代码?
bool tick() {
_tick = !_tick;
return _tick;
}
bool tick() => !_tick;
_tick
应该被定义,这个函数将返回否定的值。因此,您必须对结果进行赋值才能实现否定。像这样:
void main() {
bool _tick = true;
_tick = tick(_tick);
print(_tick);
_tick = tick(_tick);
print(_tick);
}
bool tick(tick) => !tick;
false
true
class Tick {
bool tick;
Tick(this.tick);
}
void tick(Tick data) => data.tick = !data.tick;
main() {
var data = new Tick(true);
print(data.tick); // true
tick(data);
print(data.tick); // false
tick(data);
print(data.tick); // true
}
thick()
方法将会取反_tick
并返回新的赋值数值:bool tick() => _tick = !_tick;
_tick
定义在哪里?你的原始代码中没有显示。 - Peter Koltai