我想定义sync.Map的类型,以便我可以进行一些类型检查并基本上隔离接口{}使用。这样使用sync.Map是否安全?
type WalletMap sync.Map
var walletMap = &WalletMap{}
func (m *WalletMap) LoadOrStore(key string, value *CoinMap) (actual *CoinMap, loaded bool) {
itf, ok := (*sync.Map)(m).LoadOrStore(key, value)
if !ok {
return nil, ok
}
return itf.(*CoinMap), ok
}
func (m *WalletMap) Load(key string) (actual *CoinMap, loaded bool) {
itf, ok := (*sync.Map)(m).Load(key)
if !ok {
return nil, ok
}
return itf.(*CoinMap), ok
}