string.go 656 B

1234567891011121314151617181920212223242526272829303132
  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 StringLiteral string
  10. func NewStringLiteral(str String) StringLiteral {
  11. return StringLiteral(str.String())
  12. }
  13. func (this StringLiteral) String() string {
  14. return string(this)
  15. }
  16. func (this StringLiteral) ToLower() StringLiteral {
  17. return StringLiteral(strings.ToLower(string(this)))
  18. }
  19. func (this StringLiteral) ToUpper() StringLiteral {
  20. return StringLiteral(strings.ToUpper(string(this)))
  21. }
  22. func (this StringLiteral) TrimSpace() StringLiteral {
  23. return StringLiteral(strings.TrimSpace(string(this)))
  24. }