golang 中本身不支持三目运算,如果想要简化代码,可以自定义一个三目运算的函数
,通过函数的调用来实现三目运算
package main
import (
"fmt"
)
// 三目运算的函数
func ternary(a bool, b, c interface{}) interface{} {
if a {
return b
}
return c
}
func main() {
var a int = 12
var b int = 13
x := ternary(a > b, a, b)
fmt.Printf("Value : %v , Type : %T\n", x, x) // Value : 13 , Type : int
y := ternary(false, "true", false)
fmt.Printf("Value : %v , Type : %T\n", y, y) // Value : false , Type : bool
y = ternary(true, "true", false)
fmt.Printf("Value : %v , Type : %T", y, y) // Value : true , Type : string
}