支持toStruct
This commit is contained in:
22
normal.go
22
normal.go
@ -8,6 +8,9 @@
|
||||
package easymap
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"sync"
|
||||
|
||||
@ -305,3 +308,22 @@ func (n *normal) Iterator(handleFunc IteratorFunc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ToStruct map转为结构体
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 15:33 2023/8/10
|
||||
func (n *normal) ToStruct(receiver interface{}) error {
|
||||
if nil == receiver {
|
||||
return errors.New("receiver is nil")
|
||||
}
|
||||
mapData := n.GetAll()
|
||||
byteData, err := json.Marshal(mapData)
|
||||
if nil != err {
|
||||
return err
|
||||
}
|
||||
decoder := json.NewDecoder(bytes.NewReader(byteData))
|
||||
decoder.UseNumber()
|
||||
return decoder.Decode(receiver)
|
||||
}
|
||||
|
Reference in New Issue
Block a user