25 lines
421 B
Go
25 lines
421 B
Go
package cache
|
|
|
|
func (c *Cache[K, V]) del(key K) (bool, error) {
|
|
dataAny, load := c.data.LoadAndDelete(key)
|
|
if !load {
|
|
return false, nil
|
|
}
|
|
|
|
data, ok := dataAny.(*Data[V])
|
|
if !ok {
|
|
return false, TypeErrMsg
|
|
}
|
|
|
|
if c.cDel != nil {
|
|
c.cDel(key, *data)
|
|
}
|
|
return true, nil
|
|
}
|
|
|
|
// Del 删除数据
|
|
// key: 键 返回值: 是否删除成功 错误
|
|
func (c *Cache[K, V]) Del(key K) (bool, error) {
|
|
return c.del(key)
|
|
}
|