如何解决Dart中final函数参数有什么影响?
我最近发现可以在函数参数中包含 final
。
/// Handler for the footer leading checkBox
void _onCheck(final bool value) {
setState(() {
_checked = value;
});
}
但是,此功能未在任何地方记录并且无法搜索有关此主题的任何信息。
由于传递给函数的变量已经在别处声明并且可能是var
,那么在函数参数中使用final
有什么影响?
解决方法
它的工作原理类似于将任何其他变量声明为 final
- 变量在初始化后无法更改。
参数实际上只是一个局部变量,其中初始化值来自调用者而不是局部表达式。
所以在这里,如果在函数中写入 value = false;
会出错,因为 value
是最终变量。如果您删除 final
,您将不会收到任何错误。
除此之外,没有任何区别。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。