| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package commons
- import (
- "crypto/md5"
- "encoding/json"
- "fmt"
- "github.com/google/uuid"
- "reflect"
- "strconv"
- "time"
- )
- func GetTimeStamp() string {
- timestamp := time.Now().UnixNano() / int64(time.Millisecond)
- str := strconv.FormatInt(timestamp, 10)
- return str
- }
- func GetUUID() string {
- // 生成UUID
- uuidObj := uuid.New()
- // 将UUID转换成字符串
- uuidStr := uuidObj.String()
- // 打印UUID字符串
- return uuidStr
- }
- func GetMD5(str string) string {
- md5 := md5.New()
- md5.Write([]byte(str))
- result := fmt.Sprintf("%x", md5.Sum(nil))
- return result
- }
- func IsValidJSON(str string) bool {
- var js json.RawMessage
- return json.Unmarshal([]byte(str), &js) == nil
- }
- // isPropertyExists 判断是否包含指定属性
- func IsPropertyExists(obj interface{}, propertyName string) bool {
- if obj == nil || obj == "" {
- return false
- }
- v := reflect.ValueOf(obj)
- if v.Kind() == reflect.Ptr {
- v = v.Elem()
- }
- t := v.Type()
- for i := 0; i < t.NumField(); i++ {
- field := t.Field(i)
- if field.Name == propertyName {
- return true
- }
- }
- return false
- }
- func IsNil(value interface{}) bool {
- if value == nil {
- return true
- }
- switch reflect.TypeOf(value).Kind() {
- case reflect.Ptr, reflect.Map, reflect.Slice, reflect.Chan, reflect.Interface:
- return reflect.ValueOf(value).IsNil()
- default:
- return false
- }
- }
|