github.com/tencent/goom@v1.0.1/arg/builder.go (about)

     1  package arg
     2  
     3  // AnyValues 匹配任意参数值
     4  var AnyValues = Any()
     5  
     6  // Any 匹配任意参数值
     7  func Any() *AnyExpr {
     8  	return &AnyExpr{}
     9  }
    10  
    11  // Equals 创建参数比较表达式
    12  func Equals(arg interface{}) *EqualsExpr {
    13  	return &EqualsExpr{arg: arg}
    14  }
    15  
    16  // In 包含表达式的参数比较
    17  func In(values ...interface{}) *InExpr {
    18  	return &InExpr{
    19  		args: values,
    20  	}
    21  }
    22  
    23  // Field 属性值匹配表达式
    24  func Field(name string) *Builder {
    25  	return (&Builder{}).Field(name)
    26  }
    27  
    28  // Builder Expr 表达式构建器, 根据规则构建 Expr 表达式子类对象
    29  // TODO 实现表达式树
    30  type Builder struct {
    31  }
    32  
    33  // Field 指定属性名称
    34  func (b *Builder) Field(name string) *Builder {
    35  	return b
    36  }
    37  
    38  // In 添加 In 字句
    39  func (b *Builder) In(values ...interface{}) *Builder {
    40  	return b
    41  }