code: func match(route []string, topic []string) bool {
  	if len(route) == 0 {
  		if len(topic) == 0 {
  			return true
  		}
  		return false
  	}
  
  	if len(topic) == 0 {
  		if route[0] == "#" {
  			return true
  		}
  		return false
  	}
  
  	if route[0] == "#" {
  		return true
  	}
  
  	if (route[0] == "+") || (route[0] == topic[0]) {
  		return match(route[1:], topic[1:])
  	}
  	return false
  }
docs: // match takes a slice of strings which represent the route being tested having been split on '/'
  // separators, and a slice of strings representing the topic string in the published message, similarly
  // split.
  // The function determines if the topic string matches the route according to the MQTT topic rules
  // and returns a boolean of the outcome