代码拉取完成,页面将自动刷新
package cmap
import (
"sync"
)
// NewMap create a new map
func NewMap() *Map {
return &Map{
store: make(map[interface{}]interface{}),
}
}
// Map A thread-safe anything to anything map
type Map struct {
sync.RWMutex
store map[interface{}]interface{}
}
// Set the given value under the specified key
func (m *Map) Set(key, value interface{}) {
m.Lock()
m.store[key] = value
m.Unlock()
}
// Get retrieves an element from map under given key
func (m *Map) Get(key interface{}) (value interface{}, ok bool) {
m.RLock()
value, ok = m.store[key]
m.RUnlock()
return
}
// Remove removes an element from the map
func (m *Map) Remove(key interface{}) {
m.Lock()
delete(m.store, key)
m.Unlock()
}
// Count the number of elements within the map
func (m *Map) Count() (count int) {
m.RLock()
count = len(m.store)
m.RUnlock()
return
}
// Clear removes all elements from the map
func (m *Map) Clear() {
m.Lock()
m.store = make(map[interface{}]interface{})
m.Unlock()
}
// Items returns all items as map[interface{}]interface{}
func (m *Map) Items() (items map[interface{}]interface{}) {
m.RLock()
items = make(map[interface{}]interface{})
for k, v := range m.store {
items[k] = v
}
m.RUnlock()
return
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。