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