flutter - Dart:有没有办法在一行中否定并返回一个布尔值?
问题描述
有没有办法使用粗箭头 (=>) 符号将以下功能写成一行?
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
}
推荐阅读
- javascript - 按时间过滤 JSON
- java - 无法使用 selenium webdriver 从网页中读取文本
- java - Cucumber-JVM 3 - io.cucumber.datatable.UndefinedDataTableTypeException
- django-viewflow - 一个前端下的 Django-Viewflow 中的两个独立流(进程),引发异常
- javascript - 在camunda进程的进程变量中传递json
- accord.net - Accord.NET 中有没有办法匹配 SURF 功能?
- ios - 如何在不导致 UINavigationBar 跳转的情况下隐藏 iOS 应用程序中的状态栏?
- c - C中链表上的双指针
- android - AndroidViewClient 从 WebView 获取 id
- javascript - 如何在点击菜单项时隐藏手机中的菜单?