package dataStruct type DMapDtuDev struct { Map *DMapKv } func NewDMapDtuDev() *DMapDtuDev { cm := &DMapDtuDev{ Map: NewDMapKv(), } return cm } func (cm *DMapDtuDev) Add(key string, val *DTUDeviceState) { cm.Map.Add(key, val) } func (cm *DMapDtuDev) Remove(key string) { cm.Map.Remove(key) } func (cm *DMapDtuDev) Get(key string) (*DTUDeviceState, bool) { v, ok := cm.Map.Get(key) if ok { return v.(*DTUDeviceState), true } else { var t *DTUDeviceState return t, false } } // AlterKey 修改key func (cm *DMapDtuDev) AlterKey(before, after string) bool { if before == after { return true } if v, ok := cm.Map.Get(before); !ok { return false } else { if _, ok = cm.Map.Get(after); ok { return false } val := v.(*DTUDeviceState) cm.Map.Add(after, val) cm.Map.Remove(before) return true } } func (cm *DMapDtuDev) Len() int { return cm.Map.Len() } func (cm *DMapDtuDev) Clean() { cm.Map.Clean() }