func (sl StringList) Count() int {
	count := 0
	for _, v := range sl {
		if v != "" {
			count++
		}
	}
	return count
}
Count return sl count
package strlist
import (
	"reflect"
	"sort"
	"github.com/daheige/thinkgo/grecover"
)
type StringList []string
func (sl StringList) Len() int {
	return len(sl)
}
func (sl StringList) Less(i, j int) bool {
	if len(sl[i]) == len(sl[j]) {
		return sl[i] < sl[j]
	}
	return len(sl[i]) < len(sl[j])
}
func (sl StringList) Swap(i, j int) {
	sl[i], sl[j] = sl[j], sl[i]
}
func (sl StringList) UniqueAdd(token string) StringList {
	for _, v := range sl {
		if v == token {
			return sl
		}
	}
	for i, v := range sl {
		if v == "" {
			sl[i] = token
			return sl
		}
	}
	return append(sl, token)
}
func (sl StringList) Delete(token string) int {
	count := 0
	for i, v := range sl {
		if v == token {
			sl[i] = ""
			count++
		}
	}
	return count
}
func (sl StringList) IsEmpty() bool {
	for _, v := range sl {
		if v != "" {
			return false
		}
	}
	return true
}