当前位置:  开发笔记 > 编程语言 > 正文

为什么单个下划线字符是lambda参数的非法名称?

如何解决《为什么单个下划线字符是lambda参数的非法名称?》经验,为你挑选了1个好方法。

我尝试命名一个lambda参数_,例如(一个减少版本):

Consumer c = _ -> {};


因为我想表示一个参数被忽略,但我得到了以下编译器错误:

对于lambda参数禁止使用'_'作为标识符

这对我来说是一个惊喜.有趣的是,两个下划线是可以的:

Consumer c = __ -> {}; // no compile error


因此,它不是一般的下划线字符,而是单个字符.

为什么单下划线名称是专门禁止的?



1> Bohemian..:

原因在Brian Goetz本人的这篇文章中表达出来:

我们从标识符的空间"回收""_"的句法不动产以用于未来的语言特征.但是,因为现有的程序可能会使用它,所以它是对现有语法位置8中出现的标识符的警告,以及lambda形式的错误(因为没有lambda的现有代码.)

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有