remove ginext/mongoext (no-dep lib)
This commit is contained in:
63
langext/string.go
Normal file
63
langext/string.go
Normal file
@@ -0,0 +1,63 @@
|
||||
package langext
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func StrLimit(val string, maxlen int, suffix string) string {
|
||||
if len(val) > maxlen {
|
||||
return val[0:maxlen-len(suffix)] + suffix
|
||||
}
|
||||
return val
|
||||
}
|
||||
|
||||
func StrSplit(val string, sep string, allowEmpty bool) []string {
|
||||
var arr []string
|
||||
for _, k := range strings.Split(val, sep) {
|
||||
if allowEmpty || k != "" {
|
||||
arr = append(arr, k)
|
||||
}
|
||||
}
|
||||
return arr
|
||||
}
|
||||
|
||||
func StrPadRight(str string, pad string, padlen int) string {
|
||||
if pad == "" {
|
||||
pad = " "
|
||||
}
|
||||
|
||||
if len(str) >= padlen {
|
||||
return str
|
||||
}
|
||||
|
||||
return str + strings.Repeat(pad, padlen-len(str))[0:(padlen-len(str))]
|
||||
}
|
||||
|
||||
func StrPadLeft(str string, pad string, padlen int) string {
|
||||
if pad == "" {
|
||||
pad = " "
|
||||
}
|
||||
|
||||
if len(str) >= padlen {
|
||||
return str
|
||||
}
|
||||
|
||||
return strings.Repeat(pad, padlen-len(str))[0:(padlen-len(str))] + str
|
||||
}
|
||||
|
||||
func DeRefStringer(v fmt.Stringer) *string {
|
||||
if v == nil {
|
||||
return nil
|
||||
} else {
|
||||
return Ptr(v.String())
|
||||
}
|
||||
}
|
||||
|
||||
func ConvertStringerArray[T fmt.Stringer](inarr []T) []string {
|
||||
result := make([]string, 0, len(inarr))
|
||||
for _, v := range inarr {
|
||||
result = append(result, v.String())
|
||||
}
|
||||
return result
|
||||
}
|
Reference in New Issue
Block a user