type stripedCache … type hashFunc … type newCacheFunc … func newStripedCache(stripeCount int, hash hashFunc, newCacheFunc newCacheFunc) cache { … } func (c *stripedCache) get(key string) (*cacheRecord, bool) { … } func (c *stripedCache) set(key string, value *cacheRecord, ttl time.Duration) { … } func (c *stripedCache) remove(key string) { … } func fnvHashFunc(key string) uint32 { … }