Go 中实现 C 语言中的三元运算符
Jay Singh
2023年10月12日
三元运算符是帮助程序员做出决策的三操作数运算符。它是 if-else
条件的精简版本。
三元运算符之所以命名,是因为它需要三个运算符才能完成。在大多数编程语言中,有一个三元
运算符(?:
),其计算类似于 if-else
链,但在 Go 中没有三元
运算符。
在 Golang 中实现 C 的三元运算符
下面给出了 C 编程语言中的 三元
运算符的示例,然后我们将其转换为 Golang。
#include <stdio.h>
int main() {
int x = 5, y = 10, result;
result = (x > y) ? x : y;
printf("%d", result);
}
输出:
10
所以三元
运算符在 Go 中不可用。你可以改用 if-else
块,如下面的示例。
示例 1:
package main
import (
"fmt"
)
func main() {
var x, y, result int
x = 5
y = 10
if x > y {
result = x
} else {
result = y
}
fmt.Println(result)
}
输出:
10
示例 2:
v = f > 0 ? 1 : 0 // if f > 0 then v is 1 else v is 0
解决方案是一个 if-else
块。它以更易读的方式描述了相同的代码。
package main
import (
"fmt"
)
func main() {
var f, result int
f = 5
if f > 0 {
result = 1
} else {
result = 0
}
fmt.Println(result)
}
输出:
1