Compare commits

..

No commits in common. "master" and "v1.0.1" have entirely different histories.

60
str.go
View File

@ -3,10 +3,7 @@
package str package str
import ( import (
"encoding/json"
"fmt"
"math/rand" "math/rand"
"os"
"strings" "strings"
"time" "time"
) )
@ -17,10 +14,7 @@ const (
) )
// get random number string with length. // get random number string with length.
var GetRandomString = GetRandomNumString func GetRandomString(l int) string {
// get random number string with length.
func GetRandomNumString(l int) string {
str := NUMBERSTRING str := NUMBERSTRING
bytes := []byte(str) bytes := []byte(str)
result := []byte{} result := []byte{}
@ -43,7 +37,7 @@ func GetRandomCharString(l int) string {
return string(result) return string(result)
} }
// skip //skip
func Skip(s string, sep string, n int) string { func Skip(s string, sep string, n int) string {
seplen := len(sep) seplen := len(sep)
if seplen == 0 || n < 0 { if seplen == 0 || n < 0 {
@ -95,42 +89,14 @@ func MapsKeysString(imap interface{}) string {
return strings.Join(keys, ",") return strings.Join(keys, ",")
} }
// string json to string map to string //// CHARSTRING string = "" //will initialize by init function
func JsonstrToStrMap(jsonstr string) (m map[string]string) { //// func init() {
err := json.Unmarshal([]byte(jsonstr), &m) //// NUMBERSTRING = "0123456789"
if err != nil { //// CHARSTRING = NUMBERSTRING
panic(fmt.Sprintf("Jsonstr[%s] To MapString failed:%s", jsonstr, err.Error())) //// for i := 'a'; i <= 'z'; i++ {
} //// CHARSTRING = CHARSTRING + string(i)
return m //// }
} //// for i := 'A'; i <= 'Z'; i++ {
//// CHARSTRING = CHARSTRING + string(i)
// string to string map to string //// }
// //// }
// example: "K1:V1;K2:V2"
// => {K1:V1, K2:V2}
func StringToStrMap(str string, sep1, sep2 string) (m map[string]string) {
m = map[string]string{}
for _, kvstr := range strings.Split(str, sep1) {
if kv := strings.SplitN(kvstr, sep2, 2); len(kv) == 2 {
m[kv[0]] = kv[1]
}
}
return m
}
// get os env with default
func GetEnvDefault(key, defval string) string {
if val, ok := os.LookupEnv(key); ok {
return val
} else {
return defval
}
}
// fix hex string to no 0x prefix
func FixToNo0x(hexstr string) string {
if strings.HasPrefix(hexstr, "0x") {
return hexstr[2:]
}
return hexstr
}