package grmi type Predicate struct { ColumnName string PredicateType func(Predicate) string Value interface{} } func NewPredicate(columnName string, predicateType func(Predicate) string, value interface{}) Predicate { return Predicate{columnName, predicateType, value} } func (self *Predicate) Build() string { return self.PredicateType(*self) }