github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/go-xorm/builder/cond_like.go (about)

     1  package builder
     2  
     3  import "fmt"
     4  
     5  type Like [2]string
     6  
     7  var _ Cond = Like{"", ""}
     8  
     9  func (like Like) WriteTo(w Writer) error {
    10  	if _, err := fmt.Fprintf(w, "%s LIKE ?", like[0]); err != nil {
    11  		return err
    12  	}
    13  	w.Append("%" + like[1] + "%")
    14  	return nil
    15  }
    16  
    17  func (like Like) And(conds ...Cond) Cond {
    18  	return And(like, And(conds...))
    19  }
    20  
    21  func (like Like) Or(conds ...Cond) Cond {
    22  	return Or(like, Or(conds...))
    23  }
    24  
    25  func (like Like) IsValid() bool {
    26  	return len(like[0]) > 0 && len(like[1]) > 0
    27  }