首页 > 后端开发 > Golang > 正文

Native Go 可以处理 URL 参数吗?

Susan Sarandon
发布: 2024-11-12 14:37:02
原创
845 人浏览过

Can Native Go Handle URL Parameters?

在 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, ""
        }
}
登录后复制
  • strings.Split 函数将路径分成几部分。
  • 如果只有一部分,则返回默认代码和唯一的代码part.
  • 如果有多个部分,请尝试将第一部分转换为整数(代码)。如果成功,返回代码和第二部分。如果没有,则返回默认代码和第二部分。
  • 否则,返回默认代码和空字符串。

此函数提供了在原生中映射 URL 参数的基本方法Go,使您能够有效地与 /blob/{id}/test 等 URL 进行交互。

以上是Native Go 可以处理 URL 参数吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板