github.com/nibnait/go-learn@v0.0.0-20220227013611-dfa47ea6d2da/src/test/chapter/ch9/02_maps/sync_map_benchmark_adapter.go (about)

     1  package maps
     2  
     3  import "sync"
     4  
     5  func CreateSyncMapBenchmarkAdapter() *SyncMapBenchmarkAdapter {
     6  	return &SyncMapBenchmarkAdapter{}
     7  }
     8  
     9  type SyncMapBenchmarkAdapter struct {
    10  	m sync.Map
    11  }
    12  
    13  func (m *SyncMapBenchmarkAdapter) Set(key interface{}, val interface{}) {
    14  	m.m.Store(key, val)
    15  }
    16  
    17  func (m *SyncMapBenchmarkAdapter) Get(key interface{}) (interface{}, bool) {
    18  	return m.m.Load(key)
    19  }
    20  
    21  func (m *SyncMapBenchmarkAdapter) Del(key interface{}) {
    22  	m.m.Delete(key)
    23  }