代码拉取完成,页面将自动刷新
package utils
import (
"crypto/md5"
"encoding/hex"
"io"
"reflect"
"regexp"
"strings"
)
/**
* return (struct,func)
*/
func SplitFuncName(name string) (string, string) {
matched, _ := regexp.MatchString(`\(.+\)`, name)
if matched { //struct func
sName := name
var sFunc string
if strings.ContainsAny(name, "-") {
last := strings.LastIndex(name, "-")
sName = name[:last]
lastF := strings.LastIndex(sName, ".")
sFunc = sName[lastF+1:]
}
re := regexp.MustCompile(`\(.+\)`)
sStruct := re.FindString(sName)
return strings.ReplaceAll(sStruct[1:len(sStruct)-1], "*", ""), sFunc
} else {
lastF := strings.LastIndex(name, ".")
return "", name[lastF+1:]
}
}
func Md5String(s string) string {
h := md5.New()
io.WriteString(h, s)
return hex.EncodeToString(h.Sum(nil))
}
//other param set default value
func DefaultCallValue(kind reflect.Kind) reflect.Value {
switch kind {
case reflect.String:
return reflect.ValueOf("")
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
return reflect.ValueOf(0)
}
return reflect.ValueOf(nil)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。