其实就一句话
我不要你觉得,我要我觉得
Go的设计者不喜欢而已。
“容易被滥用”是个一点都不好笑的笑话。只要能用的东西就有人滥用。真对滥用这么敏感,干脆连if else for也都砍了得了。一个无条件goto一个有条件goto配合标签解决所有控制结构,真正的大道至简。
至于说表达式复杂了不好读?
a = (some_fucking_long_fucking_long_fucking_long_fucking_long_condition)
? (some_fucking_long_fucking_long_fucking_long_fucking_long_value)
: (some_other_fucking_long_fucking_long_fucking_long_fucking_long_value)
有那么难读么?还是说写代码的时候要用notepad写,而且零缩进零断行?
if (some_fucking_long_fucking_long_fucking_long_fucking_long_condition) {
a = some_fucking_long_fucking_long_fucking_long_fucking_long_value;
} else {
a = some_other_fucking_long_fucking_long_fucking_long_fucking_long_value;
}
除了多占了两行,真比第一种容易理解吗?
至于说嵌套?:太混乱难读?你嵌套了什么东西能好读?加减乘除加括号套几层都能让人眼花缭乱,更别说条件循环这样的控制结构了。
表达式的复杂度又不是操作符带来的,是表达式自己的问题,是表达式本身就含有太大的信息量。太复杂太蛋疼的时候应该做的是增加抽象降低表达式本身的复杂度,而不是在写法上搞限制,那样只会看起来简单了,但是复杂度并没有下降,信息量还是这么大,对可读性帮助基本为零。
你用过最丑的编程语言是哪个?
这个问题里go语言获得多个高票答案可不是没有原因的。
至于拿go语言发明人员的水平出来杠人的更可笑了。大师就永远是伟光正的?编程语言也搞饭圈了?