Go1.18泛型实现并发安全的map
使用go泛型失效并发安全的map结构
使用go泛型失效并发安全的map结构
package mut
import (
"sync"
)
type Map[K, V comparable] struct {
mu sync.RWMutex
values map[K]V
}
func (m *Map[K, V]) Put(key K, value V) {
m.mu.Lock()
m.values[key] = value
m.mu.Unlock()
}
func (m *Map[K, V]) Get(key K) V {
var v V
m.mu.RLock()
v = m.values[key]
m.mu.RUnlock()
return v
}
func NewMap[K, V comparable]() *Map[K, V] {
m := &Map[K, V]{}
m.values = make(map[K]V)
return m
}
最后修改于 2022-04-26
此篇文章的评论功能已经停用。