微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Dart中final函数参数有什么影响?

如何解决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 举报,一经查实,本站将立刻删除。