func (c *Clise) RecentSlice() (dst []interface{}) {
	c.Lock()
	dst = make([]interface{}, c.last)
	copy(dst, c.v[:c.last])
	c.Unlock()
	return dst
}
RecentSlice return the slice from index zero until the recent item.
package clise
import "sync"
type Clise struct {
	sync.Mutex
	v    []interface{}
	size int
	last int
	over bool
}
func New(size int) (c *Clise) {
	if size <= 0 {
		return nil
	}
	c = &Clise{
		v:    make([]interface{}, size),
		size: size,
	}
	return c
}
func (c *Clise) Pop() (item interface{}) {
	c.Lock()
	if c.over {
		if c.last == 0 {
			c.last = c.size - 1
		} else {
			c.last--
		}
	} else {
		if c.last == 0 {
			c.Unlock()
			return nil
		}
		c.last--
	}
	item = c.v[c.last]
	c.v[c.last] = nil
	c.Unlock()
	return item
}
func (c *Clise) Push(src ...interface{}) {
	c.Lock()
	for x := 0; x < len(src); x++ {
		c.v[c.last] = src[x]
		c.last++
		if c.last == c.size {
			c.last = 0
			c.over = true
		}
	}
	c.Unlock()
}