支持toStruct

This commit is contained in:
2023-08-10 15:48:46 +08:00
parent e437ba87af
commit 033f6861d5
8 changed files with 123 additions and 28 deletions

View File

@ -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)
}