在 C/C++(以及该系列的许多语言)中,根据条件声明和初始化变量的常见习惯用法是使用三元条件运算符:
int index = val > 0 ? val : -val
Go 没有条件运算符。实现与上面相同的代码的最惯用的方法是什么?我找到了以下解决方案,但它似乎很冗长
var index int
if val > 0 {
index = val
} else {
index = -val
}
还有更好的吗?
正如所指出的(希望这并不奇怪),使用if+else
确实是惯用方式在 Go 中执行条件语句。
除了全面爆发var+if+else
不过,代码块也经常使用这种拼写:
index := val
if val <= 0 {
index = -val
}
如果您有一段足够重复的代码,例如相当于int value = a <= b ? a : b
,您可以创建一个函数来保存它:
func min(a, b int) int {
if a <= b {
return a
}
return b
}
...
value := min(a, b)
编译器将内联这样简单的函数,因此它更快、更清晰、更短。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)