在 Native Go 中映射 URL 参数
原生 Go 可以处理内联 URL 参数吗?考虑 URL http://localhost:8080/blob/123/test,我们的目标是将其映射到 /blob/{id}/test。本问题探讨了 Go 在不依赖外部库的情况下实现此类映射的本机功能。
本机方法:
本机 Go 并未为此任务提供简单的机制。不过,手动实现相对简单。
以下函数 getCode() 解析请求 URL 并从路径的第一部分提取代码:
func getCode(r *http.Request, defaultCode int) (int, string) { p := strings.Split(r.URL.Path, "/") if len(p) == 1 { return defaultCode, p[0] } else if len(p) > 1 { code, err := strconv.Atoi(p[0]) if err == nil { return code, p[1] } else { return defaultCode, p[1] } } else { return defaultCode, "" } }
此函数提供了在原生中映射 URL 参数的基本方法Go,使您能够有效地与 /blob/{id}/test 等 URL 进行交互。
以上是Native Go 可以处理 URL 参数吗?的详细内容。更多信息请关注PHP中文网其他相关文章!