最受不了的就是 golang 中的 if...else 语句了

53 天前
 zhwguest

代码密度太低了,经常要这么写:

1: var val string
2: if ok {
3:	val = "okay"
4: } else {
5:	val = "fail"
6: }

即使优化一下,还有:

1: val := okay
2: if !ok {
3:	val = "fail"
4: }

要是 kotlin,swift, java, c++, c ,来得多快啊,尤其很多个这种条件初始赋值的时候,看版面,就像在搞笑似的。

8308 次点击
所在节点    Go 编程语言
92 条回复
zhwguest
53 天前
java,c,c++也不错
itakeman
53 天前
喜欢 golang 喜欢的不得了
poltao
53 天前
学会与自己和解,不要在意这些细节
aloxaf
53 天前
google 的语言设计水平和 MS 比就是一坨翔(用 golang 和 dart 有感
seth19960929
53 天前
楼上说得对, 试试 When(true, 1, 2)

https://imgur.com/b1VdtLo
seth19960929
53 天前
youyouzi
53 天前
前端表示很平和,和 js 逻辑一样
kandaakihito
53 天前
go 的设计思想确实神奇,缺少很多特性。一查为什么没有,固定回答基本都是 “你自己可以手搓,那样更加 clear”
w568w
53 天前
@seth19960929 #6 这个很多时候不能平替条件运算符。比如如果 v1 、v2 是有副作用的,或者要执行很耗时的计算,那就没法用 When 了。

----

另外 Go 就是 Google 做出来解决自己需求的,如果你觉得写起来难受,说明你的使用场景和 Google 那帮人不一样,就别硬用了。
hefish
53 天前
这样不是挺好嘛,能把工作量提高啊。。。
dobelee
53 天前
这个确实很迷,还是保留 c++的三目运算符好一些。
DefoliationM
53 天前
推荐使用 java,没必要和自己过不去,用自己喜欢的就行了。
kk2syc
53 天前
10 年前用 php 的时候也是有一群人喷不是强类型 = =| 其实不影响赚钱就行了,如果是自己的项目建议换自己喜欢的语言。
guanzhangzhang
53 天前
那要是来个说受不了其他语言作用域的呢
doraemonki
53 天前
如无必要勿增实体
xuxu555
53 天前
hhhh, golang 确实是这样。不过不得不说,除了这个 err 判断繁琐点,其他真的挺简洁了。
csys
53 天前
最简洁直观的:

var val = if ok "okay" else "fail"

或者

var val = ok match {
true => "okay",
false => "fail"
}
liuliuliuliu
53 天前
推荐试一下 C# 😊
akira
53 天前
这种小事情。。真不重要了。。
zhwguest
53 天前
@csys #17 这是啥语言啊?

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

https://tanronggui.xyz/t/1106223

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

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

© 2021 V2EX