string.go 677 B

123456789101112131415161718192021222324252627282930313233343536
  1. package serial
  2. import (
  3. "strings"
  4. )
  5. // An interface for any objects that has string presentation.
  6. type String interface {
  7. String() string
  8. }
  9. type StringT string
  10. func NewStringT(str String) StringT {
  11. return StringT(str.String())
  12. }
  13. func (this StringT) Contains(str String) bool {
  14. return strings.Contains(this.String(), str.String())
  15. }
  16. func (this StringT) String() string {
  17. return string(this)
  18. }
  19. func (this StringT) ToLower() StringT {
  20. return StringT(strings.ToLower(string(this)))
  21. }
  22. func (this StringT) ToUpper() StringT {
  23. return StringT(strings.ToUpper(string(this)))
  24. }
  25. func (this StringT) TrimSpace() StringT {
  26. return StringT(strings.TrimSpace(string(this)))
  27. }