代码拉取完成,页面将自动刷新
package xutils
import (
"bytes"
"encoding/hex"
"gitee.com/igolang/pkg/xjson"
"math/rand"
"strings"
"time"
)
func StrArrayEmpty(arr []string) bool {
for _, v := range arr {
if v != "" {
return false
}
}
return true
}
func ParseMac(mac string) []byte {
if mac == "" {
return nil
}
macArr := make([]string, 0)
if strings.Contains(mac, ":") {
macArr = strings.Split(mac, ":")
} else if strings.Contains(mac, "-") {
macArr = strings.Split(mac, "-")
} else {
if len(mac)%2 != 0 {
return bytes.NewBufferString(mac).Bytes()
}
for i := 0; i < len(mac); {
s := mac[i : i+2]
macArr = append(macArr, s)
i += 2
}
}
if len(macArr) == 0 {
return nil
}
result := make([]byte, 0)
for _, v := range macArr {
b, err := hex.DecodeString(v)
if err != nil {
return nil
}
result = append(result, b[0])
}
return result
}
func Bytes2Mac(b []byte) string {
s := ""
for _, v := range b {
s = s + hex.EncodeToString([]byte{v}) + ":"
}
s = strings.TrimRight(s, ":")
return s
}
func FormatStrJson(b []byte) []byte {
if len(b) == 0 {
return b
}
b = bytes.Trim(b, `"`)
if IsJson(b) {
return b
}
b = bytes.ReplaceAll(b, []byte(`\`), []byte{})
return b
}
func IsJson(b []byte) bool {
return xjson.Valid(b)
}
func RandStr(length int) string {
str := "yzABCDEFGHIJKLlmnopq78STUrstuvwxPQR3456VWXYZ0129MNOabcdefghijk"
b := []byte(str)
var result []byte
r := rand.New(rand.NewSource(time.Now().UnixNano()))
for i := 0; i < length; i++ {
result = append(result, b[r.Intn(len(b))])
}
return string(result)
}
func ParseTag(tag string) map[string]any {
result := make(map[string]any)
tagArr := strings.Split(tag, ";")
for _, v := range tagArr {
vv := strings.Split(v, ":")
if len(vv) < 2 {
result[vv[0]] = true
continue
}
result[vv[0]] = vv[1]
}
return result
}
// FirstUpper 字符串首字母大写
func FirstUpper(s string) string {
if s == "" {
return ""
}
return strings.ToUpper(s[:1]) + s[1:]
}
// FirstLower 字符串首字母小写
func FirstLower(s string) string {
if s == "" {
return ""
}
return strings.ToLower(s[:1]) + s[1:]
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。