定义了一个Cache结构体,其中使用sync.Map作为底层数据结构来存储缓存项。Set方法用于设置缓存项,指定键、值以及过期时间。Get方法用于获取缓存项,如果缓存项存在且未过期,则返回值和true,否则返回nil和false。方法的接受者为指针类型,是为了对Cache对象进行操作,并在方法内部访问和修改对象的数据。
在main函数中,创建了一个Cache实例,并设置了两个缓存项。然后,我们尝试获取一个存在的缓存项,并在控制台上打印值。接着,我们等待6秒,再次尝试获取同一个缓存项,这次应该返回Key not found,因为该缓存项已过期。