ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] 在Dart中,连函数都是对象。下面是一些涉及函数的最佳实践。 ## 使用函数声明将函数绑定到名称。 现代语言已经认识到本地嵌套函数和闭包是多么有用。在另一个函数中定义一个函数是很常见的。在许多情况下,此函数被立即用作回调函数,不需要名称。函数表达式就很好。 但是,如果您确实需要给它一个名称,那么使用函数声明语句而不是将lambda绑定到变量。 ~~~ void main() { localFunction() { ... } } ~~~ 以下是错误示例: ~~~ void main() { var localFunction = () { ... }; } ~~~ ## 当可以使用"快速触发"时不要创建lambda函数 >**译者注**:这儿快速触发是"tear-off"的翻译,其本意是撕掉的意思,但是明显在此不能直接翻译。根据这种用法觉得翻译为“快速触发”可能会更好理解点儿。如果不明白可以看下边的描述和例子。 如果在对象上引用了一个方法,但省略了括号,Dart会给你一个“快速触发”——闭包接受与方法相同的参数,并在调用时调用它。 如果您有一个调用方法的函数,其参数与传递给它的参数相同,那么您不需要手动将调用包装在lambda中。 ~~~ names.forEach(print); ~~~ 以下是错误示例: ~~~ names.forEach((name) { print(name); }); ~~~