// RemoveListener - remove event's listener
remove event's listener
// RemoveListener - remove event ' s listener
func (e *Event) RemoveListener(l *Listener) *Event {
	e.Lock()
	defer e.Unlock()
	for i, v := range e.listeners {
		if v.id == l.id {
			e.listeners[i] = e.listeners[len(e.listeners)-1]
			e.listeners = e.listeners[:len(e.listeners)-1]
			break
		}
	}
	return e
}
func ( e * Event ) RemoveListener ( l * Listener ) * Event { e . Lock ( ) defer e . Unlock ( ) for i , v := range e . listeners { if v . id == l . id { e . listeners [ i ] = e . listeners [ len ( e . listeners ) - 1 ] e . listeners = e . listeners [ : len ( e . listeners ) - 1 ] break } } return e }
remove event's listener
remove event ' s listener
// delete without preserving order