go-ml.dev/pkg/base@v0.0.0-20200610162856-60c38abac71b/fu/ife.go (about) 1 package fu 2 3 import "reflect" 4 5 /* 6 Ife returns x if expr == true else returns y 7 */ 8 func Ife(expr bool, x interface{}, y interface{}) interface{} { 9 if expr { 10 return x 11 } 12 return y 13 } 14 15 /* 16 Ifei returns x if expr == true else returns y 17 */ 18 func Ifei(expr bool, x int, y int) int { 19 if expr { 20 return x 21 } 22 return y 23 } 24 25 /* 26 Ifel returns x if expr == true else returns y 27 */ 28 func Ifel(expr bool, x int64, y int64) int64 { 29 if expr { 30 return x 31 } 32 return y 33 } 34 35 /* 36 Ifer returns x if expr == true else returns y 37 */ 38 func Ifer(expr bool, x float32, y float32) float32 { 39 if expr { 40 return x 41 } 42 return y 43 } 44 45 /* 46 Ifed returns x if expr == true else returns y 47 */ 48 func Ifed(expr bool, x float64, y float64) float64 { 49 if expr { 50 return x 51 } 52 return y 53 } 54 55 /* 56 Ifes returns x if expr == true else returns y 57 */ 58 func Ifes(expr bool, x string, y string) string { 59 if expr { 60 return x 61 } 62 return y 63 } 64 65 /* 66 Ifev returns x if expr == true else returns y 67 */ 68 func Ifev(expr bool, x reflect.Value, y reflect.Value) reflect.Value { 69 if expr { 70 return x 71 } 72 return y 73 }