1. func If(condition bool, trueVal, falseVal interface{}) interface{} {
  2. if condition {
  3. return trueVal
  4. }
  5. return falseVal
  6. }
  7. a, b := 2, 3
  8. max := If(a > b, a, b).(int)
  9. println(max)
  10. // error: 当list为 nil 时,trueVal 为 list[0],运行时异常。
  11. // If 的3个参数是同时传入的,然后再判断执行。
  12. var list []int
  13. max := If(len(list) > 0, list[0], 99).(int)

Go语言的三元表达式

利用hit在Golang中使用三元运算