Go 加入箭头函数,你支持吗?

polaris · 2022-05-22 21:20:56 · 7605 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2022-05-22 21:20:56 的主题,其中的信息可能已经有所发展或是发生改变。

大家好,我是 polarisxu。

Go 中有匿名函数,但即使是简单的函数,也需要完整的编写函数:

func (x, y int) bool { return x < y }

但很多其他语言,有简写方式,这就是轻量级匿名函数语法。即:

(x, y) => { x < y }

即箭头函数。如果你没有见过这样的语法,咋一看会有点懵?!

当然,目前还是在激烈讨论阶段,能不能最终引入还未知。

我个人感觉,Go 还是别增加语法糖,搞得语言很复杂了,只有一种解决方案没啥不好,你觉得呢?

提案讨论地址:https://github.com/golang/go/issues/21498


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

7605 次点击  ∙  1 赞  
加入收藏 微博
25 回复  |  直到 2022-08-01 17:15:48
jan-bar
jan-bar · #1 · 3年之前

我就希望不同的程序员编写相同逻辑只有一种写法,这样阅读和维护很方便。用过python,实现一个功能方法有点多。用过Ruby,这玩意就不是有点多,而是非常多,经常看到莫名其妙的写法,还得查一查咋回事。

liangmanlin
liangmanlin · #2 · 3年之前

又不提升性能,也不会提高代码的可读性,完全不希望加这种东西,看着js那一坨shit已经够心烦了,还要加?

jjmgx
jjmgx · #3 · 3年之前

golang一直以简洁为根本,只有坚持不忘初心,才能走得更远!甚至于泛型要不要有都是有待商榷的事。是谁将golang一步步推向深渊的?如果有一天golang因为邯郸学步而迷失了自我,这些始作俑者都该去死!

xutaoding
xutaoding · #4 · 3年之前

箭头函数有点多余吧,像js, 感觉还不如Python中的lambda更显义

sanrentai
sanrentai · #5 · 3年之前
liangmanlinliangmanlin #2 回复

又不提升性能,也不会提高代码的可读性,完全不希望加这种东西,看着js那一坨`shit`已经够心烦了,还要加?

同感

RafaelShin
RafaelShin · #6 · 3年之前

简洁至尚,一种实现最好,别搞那么多的

fmyxyz
fmyxyz · #7 · 3年之前

这个是用来炫技的吧

Michael_D
Michael_D · #8 · 3年之前

完全没有必要,感觉不能只为了简单而加入各种乱七八糟的新特性,就像Python一样!

wln123
wln123 · #9 · 3年之前

不用的没必要用啊,又不是逼你用这种写法,我觉得挺好的,可以简化很多

roberChen
roberChen · #10 · 3年之前
wln123wln123 #9 回复

不用的没必要用啊,又不是逼你用这种写法,我觉得挺好的,可以简化很多

那用cpp啊,过来用go干嘛?什么都有。

yihleego
yihleego · #11 · 3年之前

不妨先加三目表达式

wln123
wln123 · #12 · 3年之前
roberChenroberChen #10 回复

#9楼 @wln123 那用cpp啊,过来用go干嘛?什么都有。

你不用可以不用,别人又不是不用真是

taatcc
taatcc · #13 · 3年之前

go不是追求 大道至简么,但这个语法 像动态 语言,不加算了

18328048335
18328048335 · #14 · 3年之前

别了,箭头函数不好看

jiftle
jiftle · #15 · 3年之前

非常反对,箭头函数本质上是语法糖,会给新手造成很大的适应负担。一门语言不是什么牛特性都要支持」而是我们坚持的原则是什么,简洁,高效,不做什么更重要.

jiftle
jiftle · #16 · 3年之前

三目运算非.常有必要

houshuting
houshuting · #17 · 3年之前

说实话 每次写JS 感觉就像螺蛳粉的气味;看着头大 也不想写

roberChen
roberChen · #18 · 3年之前
wln123wln123 #12 回复

#10楼 @roberChen 你不用可以不用,别人又不是不用真是

我的态度是不如加const入参有用。要改就改点实在的。语法糖有一万种,每一种都有人想用。但是实打实的东西却没那么多花里胡哨的。

taatcc
taatcc · #19 · 3年之前

箭头函数在js体现地淋漓尽致,但在golang里确实不协调。建议搞个三元表达式或错误处理机制优化下

GO_go_GO1
GO_go_GO1 · #20 · 3年之前

加鸡儿加

li621020
li621020 · #21 · 3年之前

可千万别,js那套箭头你以为很好么?

wln123
wln123 · #22 · 3年之前

一堆人说js的,没用过别的吗?

staronearth
staronearth · #23 · 3年之前

大道至简。。

largezhou
largezhou · #24 · 3年之前

感觉没啥必要,,,

wtdev
wtdev · #25 · 3年之前

不支持

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传