Compare commits
4 Commits
Author | Date | ||
---|---|---|---|
![]() |
6e98ac9100 | ||
![]() |
e21dbcc61b | ||
![]() |
906d43322e | ||
![]() |
13d410f2b8 |
58
str.go
58
str.go
@ -3,7 +3,10 @@
|
|||||||
package str
|
package str
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
@ -14,7 +17,10 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// get random number string with length.
|
// get random number string with length.
|
||||||
func GetRandomString(l int) string {
|
var GetRandomString = GetRandomNumString
|
||||||
|
|
||||||
|
// 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{}
|
||||||
@ -89,14 +95,42 @@ func MapsKeysString(imap interface{}) string {
|
|||||||
return strings.Join(keys, ",")
|
return strings.Join(keys, ",")
|
||||||
}
|
}
|
||||||
|
|
||||||
//// CHARSTRING string = "" //will initialize by init function
|
// string json to string map to string
|
||||||
//// func init() {
|
func JsonstrToStrMap(jsonstr string) (m map[string]string) {
|
||||||
//// NUMBERSTRING = "0123456789"
|
err := json.Unmarshal([]byte(jsonstr), &m)
|
||||||
//// CHARSTRING = NUMBERSTRING
|
if err != nil {
|
||||||
//// for i := 'a'; i <= 'z'; i++ {
|
panic(fmt.Sprintf("Jsonstr[%s] To MapString failed:%s", jsonstr, err.Error()))
|
||||||
//// 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
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user