From cee889bd5865956c738ae0b03063e7c6be426629 Mon Sep 17 00:00:00 2001 From: Colin Axner Date: Mon, 23 Nov 2020 15:36:27 +0100 Subject: [PATCH] Add Reset func to memo Add a new function Reset to memo to forcibly reset the cache --- memo/memo.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/memo/memo.go b/memo/memo.go index a31c8be..893bc79 100644 --- a/memo/memo.go +++ b/memo/memo.go @@ -67,3 +67,12 @@ func (memo *Memo) Get() (value interface{}, err error) { } return memo.cache.res.value, memo.cache.res.err } + +// Reset forcibly resets the cache to nil. +func (memo *Memo) Reset() { + defer memo.mu.Unlock() + memo.mu.Lock() + + memo.cache = nil + memo.lastCache = time.Now() +}