lambda 表达式大家在工作中用的多么,小白看了好多遍也理解不住

2019-11-29 15:58:30 +08:00
 wuwudeqi
13038 次点击
所在节点    Java
91 条回复
classyk
2019-11-29 22:13:54 +08:00
基本上把 lambda 当成就是一个回调函数的语法糖,是不是就好理解多了
KentY
2019-11-29 22:26:21 +08:00
@classyk 我觉得 java 的 lambda 跟传统意义的 回调函数类似, 但本质还不一样. 回调函数是函数的一个地址, 而 java 的 lambda 其实是某些 interface 的实现. 本质是预先的 interface 实现或者匿名类. 其实地址都是那些 objects .. 在这些方面, java 不如某些比如 python, (C 就更不用说了)灵活.
hantsy
2019-11-29 22:29:42 +08:00
@KentY 嗯。我不觉得用 Lambda 仅仅是简写了代码,只是多一种编程方式的选择而已,没有什么东西是万能的。像之前提到用 Spring Integration Flow,有时在不好处理(还有测试的方便),一个长的 Flow 代码还是分成几段(用多个 Flow 拼接)。
Revenant
2019-11-29 22:34:51 +08:00
this.axios('/api/getData')
.then( res => {
console.log(res)
}).catch( err => {
console.log(err)
})
KentY
2019-11-29 22:37:05 +08:00
@hantsy 其实 compact 的代码, 调试起来成本大些. 比如说, fluent api design 是个好东西, 可是我 review 过 40 多行的.foo().bar()一直下来的代码. 我想, 当时这个开发人员, 写的时候, 心里应该是充满得意的, 因为他在用 fluent api 而且是"on the right track" 但是这样, 在调试的时候成本就加大, 另外, 这样一个 method 恨不得所有事情都给做里面, 因为它"可以"做. 也违背了功能单一化的原则...
还有个例子就是, 看 camel 的东西就觉得那不是在 programming.... :-D
doudou1523102
2019-11-29 22:38:11 +08:00
java , 记住 stream 就可以了,流式子操作,可以转 map list
turi
2019-11-29 22:39:40 +08:00
c++ 不使用 感觉在用 c++98
charlie21
2019-11-29 22:54:27 +08:00
用个 lambda 就爽起来了?爽点也太低了罢
billlee
2019-11-29 23:20:35 +08:00
这个要配合 immutable 数据结构和函数式编程。比如写 spark 不用 lambda 就会非常难受了
FerrisChan
2019-11-29 23:42:16 +08:00
C 艹,写 qt 就经常用
MouCai
2019-11-30 02:26:14 +08:00
我在 JS 里面,Lambda 就没停下来过
Perry
2019-11-30 02:47:58 +08:00
5 楼什么鬼,JavaScript 里面用 Lambda 写 JSX 香的不行
tianshilei1992
2019-11-30 04:22:50 +08:00
我写作业还用了 Lambda 表达式😂
```C++
call_once(init_socket_once, [&]() {
timeval to;
to.tv_sec = 10;
to.tv_usec = 0;

setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &to, sizeof(to));
});
```
dangyuluo
2019-11-30 05:36:11 +08:00
反正在 C++ 14 里面用的很多,因为真的很方便啊。
aaronysj
2019-11-30 08:00:46 +08:00
真香!
factoid
2019-11-30 08:47:10 +08:00
@lewinlan 我不太明白为什么不能直接
```python
df.apply(str(x) if isinstance(x, Datetime) else 1)”””
changdy
2019-11-30 09:19:33 +08:00
用的不多..
因为 已经把语言从 java 切换成了 kotlin
wbing
2019-11-30 09:23:02 +08:00
写 c++和 kotlin 时常用,特别爽
zunceng
2019-11-30 09:34:01 +08:00
因为我懒
不用 lambda 就得用高阶函数 ;不用高阶函数 就得用设计模式
daimiaopeng
2019-11-30 09:53:13 +08:00
c++ 回调函数用 lambda ....

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/624350

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX