在完成客户端编码的Dart Route库示例时, 我遇到了这个片段.
var router = new Router()
..addHandler(urls.one, showOne)
..addHandler(urls.two, showTwo)
..addHandler(urls.home, (_) => null)
..listen();
Run Code Online (Sandbox Code Playgroud)
我的问题是如何(_) => null工作?它似乎指定了一个返回null值的函数但是什么(_)意思呢?
(_)意味着它是一个带有一个参数的函数,但你不关心那个参数,所以它只是命名_.你也可以写(ignoreMe) => null.这里重要的是,需要一个接受一个参数的函数.你用它做什么,是你的事.
(_) => null表示:一个函数,它接受一个名为_并返回的参数null.它可以被视为一种捷径(iDontCareVariable) => null.
没有参数的类似功能将是() => null.
具有更多参数的类似功能将是(_, __, ___) => null.
请注意,这_不是langauge级别定义的特殊语法.它只是一个可以在函数体内使用的变量名.例如:(_) => _.
| 归档时间: |
|
| 查看次数: |
272 次 |
| 最近记录: |