运算符重载有什么实际用途?感觉很鸡肋

12 天前
 seekseat

看到很多人在讨论...但这玩意有啥作用,工作这么多年完全没 get 到

4667 次点击
所在节点    Go 编程语言
53 条回复
araraloren
11 天前
所以,go 是不支持么,理由是什么?然后怎么就推翻了自己
tool2dx
11 天前
最明显就是向量数学类,能和普通的语法一样加减乘除。
别的似乎也没明显好处。
yb2313
11 天前
又想写 equals 了是吧
nenseso
11 天前
==啊这种两个数据结构的比较重载一下还是很好用的,也很好读
wsping
11 天前
自定义类要排序的话就必须重载小于号
DOLLOR
11 天前
a + b 本质就是 a.add(b) 的语法糖。
如果平时开发都是以 crud 为主,那确实看起来差别不大。
但如果是以数学计算为主的开发,重载后的+-*/之类的符号是比方法名看得更舒服的。
lance6716
11 天前
让自定义结构体长的跟内置类型一样,不过个人觉得没必要,妈的 debug 的时候看上去人畜无害的一样结果是个重载
guiyumin
11 天前
@wsping nice
dragondove
10 天前
运算符重载有个好处是可以利用运算符的优先级减少括号层数而使代码变得易读。例如创建 sql 的 dsl 时,如果使用 where ((a add b) eq c) and (d eq e) 对比 where a + b == c && d == e 来说,后者更易读
jorneyr
10 天前
@PopRain 本来没啥感触,您一提到 BigDecimal 我就有点炸裂了。
caiqichang
10 天前
建议看一下《 effective c++》和《 more effective c++》中运算符重载的相关内容
cybort
10 天前
高级语言有什么用处?写汇编不行吗?😆
Rickkkkkkk
10 天前
你肯定期望能写 "sss" + "ddd" 这种啊...也符合直觉

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

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

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

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

© 2021 V2EX