Go 的 net/http 包可快速启动轻量 Web 服务器:几行代码调用 http.HandleFunc 和 http.ListenAndServe 即可上线;支持手动判断 r.Method 实现方法路由,用 r.URL.Query()、r.FormValue() 和 json.Decode() 处理各类请求数据;通过 w.WriteHeader() 和 w.Header().Set() 精确控制响应状态码与 Header。

用 Go 的 net/http 包启动一个 Web 服务器非常简单,几行代码就能跑起来,适合快速验证逻辑、搭建 API 或静态服务。
Go 标准库自带的 net/http 不需要额外安装,直接导入即可。最简服务只需调用 http.ListenAndServe,并注册一个处理函数:
http.HandleFunc 注册路径和响应逻辑(比如 "/" 对应首页)http.ListenAndServe(":8080", nil) 启动服务,监听本地 8080 端口
http.ResponseWriter 和 *http.Request,通过 w.Write([]byte(...)) 返回内容示例:
func main() {net/http 默认不区分 HTTP 方法(GET/POST),需手动判断 r.Method:
立即学习“go语言免费学习笔记(深入)”;
Destoon B2B网站管理系统是一套完善的B2B(电子商务)行业门户解决方案。系统基于PHP+MySQL开发,采用B/S架构,模板与程序分离,源码开放。模型化的开发思路,可扩展或删除任何功能;创新的缓存技术与数据库设计,可负载千万级别数据容量及访问。 系统特性1、跨平台。支持Linux/Unix/Windows服务器,支持Apache/IIS/Zeus等2、跨浏览器。基于最新Web标准构建,在
2
if r.Method == "POST" 分支处理不同请求类型r.URL.Path 获取访问路径,实现简易路由(如 /api/users)http.StatusMethodNotAllowed(405)更规范根据客户端传参方式选择对应方法:
r.URL.Query().Get("key") 读取 URL 查询参数(如 ?name=alice)r.FormValue("field") 自动解析 application/x-www-form-urlencoded 或 multipart 表单r.ParseBody()(可选),再用 json.NewDecoder(r.Body).Decode(&v)
别只依赖默认 200,合理使用状态码和 Header 提升健壮性:
w.WriteHeader(http.StatusNotFound) 明确返回 404w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(map[string]string{"msg": "ok"})
基本上就这些。不需要框架也能写出清晰、可控的 HTTP 服务,net/http 足够轻量又足够可靠。
以上就是如何使用Golang构建Web服务器_使用net/http创建基础Web服务的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号