Go 中实现 C 语言中的三元运算符

Jay Singh 2023年10月12日
Go 中实现 C 语言中的三元运算符

三元运算符是帮助程序员做出决策的三操作数运算符。它是 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