code: func GetParam(name string, r *http.Request, index ...int) string {
  	if params := r.Context().Value(ParamsKey); params != nil {
  		params := params.(Params)
  		if name != "*" {
  			name = ":" + name
  		}
  		if param := params[name]; param != nil {
  			switch param := param.(type) {
  			case []string:
  				if len(index) > 0 {
  					if index[0] < len(param) {
  						return param[index[0]]
  					}
  					return ""
  				}
  				return param[0]
  			default:
  				return param.(string)
  			}
  		}
  	}
  	return ""
  }
docs: // GetParam returns a value for the parameter set in path
  // When having duplicate params pass the index as the last argument to
  // retrieve the desired value.