golang 三目运算的实现

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
}
posted @ 2021-08-22 16:17  GetcharZp  阅读(2512)  评论(0编辑  收藏  举报