为什么 Go 语言没有三元运算符
这个问题在这里给出了解答:https://stackoverflow.com/questions/605617...
虽然Go中没有三元运算操作,但是可以使用以下方法实现同样的结果:
if expr {
n = trueVal
} else {
n = falseVal
}
Go语言中没有的原因是设计者发现该操作过于频繁地用于创建难以理解的复杂表达式。(这一点,Python体现的淋漓尽致)
虽然上面那种形式比较长,但是很明显是更加清晰的。
一种语言仅需要一个条件控制语句即可。
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
我还是觉得不能因为会存在过于复杂的表达式而放弃有存在价值的语法,我本人还是很喜欢
xx?x:x的方式,只占用一行,对于最基本的if来说,很简洁,毕竟if else 占行有点多= =go追求极简主义啊。要什么自行车不是吗
if/else解决的事, 为什么非要用?:;for解决的事, 为什么非要用while;大道至简