sub.go
func (s *sub) Close() error {
	go func() {
		for _, c := range s.channels {
			c.unsubscribe <- s
		}
	}()
	go func() {
		s.closed <- true
		close(s.send)
	}()
	return nil
}
func (s *sub) Close() error {
	go func() {
		for _, c := range s.channels {
			c.unsubscribe <- s
		}
	}()
	go func() {
		s.closed <- true
		close(s.send)
	}()
	return nil
}
func ( s * sub ) Close ( ) error { go func ( ) { for _ , c := range s . channels { c . unsubscribe <- s } } ( ) go func ( ) { s . closed <- true close ( s . send ) } ( ) return nil }
// Close removes subscriber from channel.
Close removes subscriber from channel .