event_bus.go
func (bus *EventBus) Unsubscribe(topic string, handler interface{}) error {
	bus.lock.Lock()
	defer bus.lock.Unlock()
	if _, ok := bus.handlers[topic]; ok && len(bus.handlers[topic]) > 0 {
		bus.removeHandler(topic, bus.findHandlerIdx(topic, reflect.ValueOf(handler)))
		return nil
	}
	return fmt.Errorf("topic %s doesn't exist", topic)
}
func (bus *EventBus) Unsubscribe(topic string, handler interface{}) error {
	bus.lock.Lock()
	defer bus.lock.Unlock()
	if _, ok := bus.handlers[topic]; ok && len(bus.handlers[topic]) > 0 {
		bus.removeHandler(topic, bus.findHandlerIdx(topic, reflect.ValueOf(handler)))
		return nil
	}
	return fmt.Errorf("topic %s doesn't exist", topic)
}
func ( bus * EventBus ) Unsubscribe ( topic string , handler interface { } ) error { bus . lock . Lock ( ) defer bus . lock . Unlock ( ) if _ , ok := bus . handlers [ topic ] ; ok && len ( bus . handlers [ topic ] ) > 0 { bus . removeHandler ( topic , bus . findHandlerIdx ( topic , reflect . ValueOf ( handler ) ) ) return nil } return fmt . Errorf ( " " , topic ) }
// Unsubscribe removes callback defined for a topic.
// Returns error if there are no callbacks subscribed to the topic.
Unsubscribe removes callback defined for a topic . Returns error if there are no callbacks subscribed to the topic .