Dart:有没有办法在一行中否定和 return 一个布尔值?
Dart: Is there a way to negate and return a boolean in a single line?
有没有办法使用粗箭头 (=>) 符号将以下函数写成一行?
bool tick() {
_tick = !_tick;
return _tick;
}
简单:
bool tick() => !_tick;
应该定义_tick
,而这个函数会return取反值。所以你必须分配结果才能否定。像这样:
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
和return新分配的值:
bool tick() => _tick = !_tick;
有没有办法使用粗箭头 (=>) 符号将以下函数写成一行?
bool tick() {
_tick = !_tick;
return _tick;
}
简单:
bool tick() => !_tick;
应该定义_tick
,而这个函数会return取反值。所以你必须分配结果才能否定。像这样:
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
和return新分配的值:
bool tick() => _tick = !_tick;