go模拟三元表达式最简单的方式

众所周知,Go语言本身并没有提供内置的三元表达式,但是我们可以使用一些技巧来模拟实现。下面是使用最短的代码实现Go的三元表达式:
package main

import "fmt"

func main() {
    x := 10
    y := 20
    max := map[bool]int{true: x, false: y}[x > y]
    fmt.Println(max)
}

在这个例子中,我们使用了一个map结构,将布尔值映射为对应的整数值。然后,我们根据比较a和b的值的结果,从这个map中获取对应的整数值作为返回值,从而实现了三元表达式的逻辑。由于这个方法使用了map结构,代码相对较短,但可读性较差,不太适合在实际项目中使用。

除了整数类型以外,其他类型也是可以的,使用类似的方式实现

posted @ 2023-04-24 09:32  根号三先生  阅读(336)  评论(0编辑  收藏  举报