You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

string.go 309B

123456789101112131415161718192021
  1. package util
  2. import (
  3. "unicode"
  4. )
  5. func Truncate(in string, length int) string {
  6. if len(in) <= length {
  7. return in
  8. }
  9. runes := []rune(in)
  10. for i := len(runes) - 1; i > 1; i-- {
  11. if unicode.IsSpace(runes[i]) && len(string(runes[:i])) < length {
  12. return string(runes[:i]) + "…"
  13. }
  14. }
  15. return ""
  16. }