C 言語の三項演算子に相当する慣用句
Jay Singh
2023年10月12日
三項演算子は、プログラマーが意思決定を行うのを支援する 3 オペランドの演算子です。これは、if-else
条件付きの要約バージョンです。
三項演算子は、完了するのに 3つの演算子が必要なために名前が付けられています。ほとんどのプログラミング言語には 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