github.com/zly-app/zapp@v1.3.3/pkg/utils/ternary.go (about)

     1  /*
     2  -------------------------------------------------
     3     Author :       Zhang Fan
     4     date:         2020/12/11
     5     Description :
     6  -------------------------------------------------
     7  */
     8  
     9  package utils
    10  
    11  var Ternary = &ternaryUtil{}
    12  
    13  type ternaryUtil struct{}
    14  
    15  // 如果boole为真返回v1否则返回v2
    16  func (*ternaryUtil) Ternary(boole bool, v1 interface{}, v2 interface{}) interface{} {
    17  	if boole {
    18  		return v1
    19  	}
    20  	return v2
    21  }
    22  
    23  // 顺序判断传入的数据, 如果某个数据不是其数据类型的零值则返回它, 否则返回最后一个数据
    24  func (*ternaryUtil) Or(values ...interface{}) interface{} {
    25  	var v interface{}
    26  	for _, v = range values {
    27  		if !Reflect.IsZero(v) {
    28  			return v
    29  		}
    30  	}
    31  	return v
    32  }