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

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 ,来得多快啊,尤其很多个这种条件初始赋值的时候,看版面,就像在搞笑似的。

举报· 2783 次点击
登录 注册 站外分享
26 条回复  
extrem 初学 昨天 20:31
我之前也经常要吐槽但后来发现确实是没办法,这些软件构建的基础设施的设计要考虑的比让我们不爽的点多得多,所以少即使多,没有完美的语言只有完美的选择
extrem 初学 昨天 20:28
总结一下就是,引入一般的三目运算符会导致在很多场景下与当前“go 哲学”相悖的用法出现,弊大于利,而在当前的计算机语言演进道路上又没有找到更好的办法了,所以索性维持现状
xiaoyecreate 初学 昨天 19:30
学会与自己和解,不要在意这些细节,能解决问题就可以了
fregie 小成 昨天 19:16
代码密度高不一定是好事,越是简化的高级语法越难读,项目规模上来后简直是灾难 满屏的高度浓缩三元表达不头疼吗
doraemonki 小成 昨天 19:05
@Leviathann 从 Go 语言的设计哲学出发考虑,引入三元表达式增加的复杂度远超带来的收益,增加了理解难度还带来了代码风格的问题(深度嵌套的写法一定会出现),普通的 if else 是最常用的写法,足够简洁,即使是初学者也能一眼看懂
Leviathann 初学 昨天 18:39
@doraemonki var val string 和下面的两处 val =,都属于无必要又增实体
zhwguest 楼主 小成 昨天 16:50
@csys #17 这是啥语言啊?
akira 初学 昨天 16:39
这种小事情。。真不重要了。。
liuliuliuliu 初学 昨天 16:07
推荐试一下 C# 😊
123下一页
返回顶部