修正代码中的若干拼写错误
This commit is contained in:
@ -107,7 +107,7 @@ func (e *Encoder) marshal(val reflect.Value, tagName string) error {
|
||||
}
|
||||
|
||||
default:
|
||||
return errors.New("unknow type " + val.Type().String() + " slice")
|
||||
return errors.New("unknown type " + val.Type().String() + " slice")
|
||||
}
|
||||
|
||||
case reflect.String:
|
||||
@ -167,18 +167,18 @@ func (e *Encoder) writeNamelessTag(tagType byte, tagName string) error {
|
||||
}
|
||||
|
||||
func (e *Encoder) writeInt16(n int16) error {
|
||||
e.w.Write([]byte{byte(n >> 8), byte(n)})
|
||||
return nil
|
||||
_, err := e.w.Write([]byte{byte(n >> 8), byte(n)})
|
||||
return err
|
||||
}
|
||||
|
||||
func (e *Encoder) writeInt32(n int32) error {
|
||||
e.w.Write([]byte{byte(n >> 24), byte(n >> 16), byte(n >> 8), byte(n)})
|
||||
return nil
|
||||
_, err := e.w.Write([]byte{byte(n >> 24), byte(n >> 16), byte(n >> 8), byte(n)})
|
||||
return err
|
||||
}
|
||||
|
||||
func (e *Encoder) writeInt64(n int64) error {
|
||||
e.w.Write([]byte{
|
||||
_, err := e.w.Write([]byte{
|
||||
byte(n >> 56), byte(n >> 48), byte(n >> 40), byte(n >> 32),
|
||||
byte(n >> 24), byte(n >> 16), byte(n >> 8), byte(n)})
|
||||
return nil
|
||||
return err
|
||||
}
|
||||
|
@ -169,7 +169,7 @@ func (d *Decoder) unmarshal(val reflect.Value, tagType byte, tagName string) err
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
vt := val.Type() //reciver must be []int or []int32
|
||||
vt := val.Type() //receiver must be []int or []int32
|
||||
if vt.Kind() == reflect.Interface {
|
||||
vt = reflect.TypeOf([]int32{}) // pass
|
||||
} else if vt.Kind() != reflect.Slice {
|
||||
@ -193,7 +193,7 @@ func (d *Decoder) unmarshal(val reflect.Value, tagType byte, tagName string) err
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
vt := val.Type() //reciver must be []int or []int64
|
||||
vt := val.Type() //receiver must be []int or []int64
|
||||
if vt.Kind() == reflect.Interface {
|
||||
vt = reflect.TypeOf([]int64{}) // pass
|
||||
} else if vt.Kind() != reflect.Slice {
|
||||
|
@ -10,15 +10,15 @@ type typeInfo struct {
|
||||
nameToIndex map[string]int
|
||||
}
|
||||
|
||||
var tinfoMap sync.Map
|
||||
var tInfoMap sync.Map
|
||||
|
||||
func getTypeInfo(typ reflect.Type) *typeInfo {
|
||||
if ti, ok := tinfoMap.Load(typ); ok {
|
||||
if ti, ok := tInfoMap.Load(typ); ok {
|
||||
return ti.(*typeInfo)
|
||||
}
|
||||
|
||||
tinfo := new(typeInfo)
|
||||
tinfo.nameToIndex = make(map[string]int)
|
||||
tInfo := new(typeInfo)
|
||||
tInfo.nameToIndex = make(map[string]int)
|
||||
if typ.Kind() == reflect.Struct {
|
||||
n := typ.NumField()
|
||||
for i := 0; i < n; i++ {
|
||||
@ -28,14 +28,14 @@ func getTypeInfo(typ reflect.Type) *typeInfo {
|
||||
continue // Private field
|
||||
}
|
||||
|
||||
tinfo.nameToIndex[tag] = i
|
||||
if _, ok := tinfo.nameToIndex[f.Name]; !ok {
|
||||
tinfo.nameToIndex[f.Name] = i
|
||||
tInfo.nameToIndex[tag] = i
|
||||
if _, ok := tInfo.nameToIndex[f.Name]; !ok {
|
||||
tInfo.nameToIndex[f.Name] = i
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ti, _ := tinfoMap.LoadOrStore(typ, tinfo)
|
||||
ti, _ := tInfoMap.LoadOrStore(typ, tInfo)
|
||||
return ti.(*typeInfo)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user