1.6 手把手教你用Go编写第一个HTTP服务器:零基础也能搞定

手把手教你用Go编写第一个HTTP服务器:零基础也能搞定

引言

HTTP 服务器是云原生应用的基础。无论是微服务、API 网关还是 Web 应用,都离不开 HTTP 服务器。本文将手把手教你用 Go 语言编写第一个 HTTP 服务器,从最简单的 Hello World 到完整的 RESTful API,让你零基础也能快速上手。

一、Go 标准库 net/http 基础

1.1 最简单的 HTTP 服务器

让我们从最基础的例子开始:

packagemainimport("fmt""net/http")funcmain(){// 注册路由处理函数http.HandleFunc("/",func(w http.ResponseWriter,r*http.Request){fmt.Fprintf(w,"Hello, World!")})// 启动服务器,监听 8080 端口fmt.Println("服务器启动在 http://localhost:8080")http.ListenAndServe(":8080",nil)}

运行程序:

go run main.go

测试:

curlhttp://localhost:8080# 输出: Hello, World!

1.2 HTTP 服务器核心组件

客户端请求

HTTP Server

路由匹配

Handler 处理

ResponseWriter 响应

返回给客户端

核心类型:

  • http.Server:HTTP 服务器
  • http.Handler:请求处理接口
  • http.ResponseWriter:响应写入器
  • http.Request:请求对象

二、理解 Handler 和 HandlerFunc

2.1 Handler 接口

typeHandlerinterface{ServeHTTP(ResponseWriter,*Request)}

2.2 使用 HandlerFunc

packagemainimport("fmt""net/http")// 方式一:使用函数funchomeHandler(w http.ResponseWriter,r*http.Request){fmt.Fprintf(w,"欢迎来到首页!")}// 方式二:使用 HandlerFuncvaraboutHandler=http.HandlerFunc(func(w http.ResponseWriter,r*http.Request){fmt.Fprintf(w,"关于我们")})funcmain(){http.HandleFunc("/",homeHandler)http.Handle("/about",aboutHandler)http.ListenAndServe(":8080",nil)}

2.3 自定义 Handler

packagemainimport("fmt""net/http")typeMyHandlerstruct{Messagestring}func(h*MyHandler)ServeHTTP(w http.ResponseWriter,r*http.Request){fmt.Fprintf(w,"消息: %s",h.Message)}funcmain(){handler:=&MyHandler{Message:"Hello from custom handler!"}http.Handle("/custom",handler)http.ListenAndServe(":8080",nil)}

三、处理不同的 HTTP 方法

3.1 区分 GET 和 POST

packagemainimport("fmt""net/http")funcuserHandler(w http.ResponseWriter,r*http.Request){switchr.Method{casehttp.MethodGet:// 处理 GET 请求fmt.Fprintf(w,"获取用户信息")casehttp.MethodPost:// 处理 POST 请求fmt.Fprintf(w,"创建用户")casehttp.MethodPut

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1209586.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2026年家装趋势:高性能节能门窗成主流,全屋门窗/豪宅设计/电动门窗/复古门窗/欧式门窗,节能门窗企业推荐榜单

在绿色建筑与低碳消费的双重驱动下,节能门窗已成为现代家居装修的核心环节。据中国建筑金属结构协会最新数据显示,2025年国内节能门窗市场规模突破800亿元,年复合增长率达15%,其中系统门窗占比超60%。消费者对门窗…

转行网络安全简历重构指南:从 “开发 / 运维” 到 “安全工程师”(附模板)

转行网络安全简历重构指南:从 “开发 / 运维” 到 “安全工程师”(附模板) “做了 2 年 Java 开发,简历写满‘SpringBoot 接口开发、MySQL 优化’,投安全开发岗位却没回应”“3 年运维经验,只会写‘负责服务…

从运维到网安:无缝转型指南+系统化学习路线

从运维到网安:无缝转型指南系统化学习路线 作为一名有运维经验的从业者,转型网络安全并非从零开始——运维工作中积累的系统架构认知、故障排查能力、服务器与网络运维经验,都是网安领域的核心基础。但网安与运维的核心目标不同:…

浙江金属软管厂家哪家好?恒达管业口碑出众

2026年工业制造与基础设施建设持续升级,金属软管作为连接管路系统的柔性纽带,其耐腐蚀性、抗压性与适配性直接决定了石油化工、航空航天、食品制药等领域的设备安全与运行效率。无论是应对-276℃超低温的液氮传输,还…

2026年玻璃隔断生产厂推荐,哪家口碑好

2026年办公空间与商业场景升级加速,玻璃隔断因兼具采光性、灵活性与美观性,成为企业优化空间布局、提升品牌形象的核心选择。无论是写字楼高性价比基础隔断、会议室隐私需求双玻百叶隔断,还是医院等特殊场所的防火隔…

【Django毕设全套源码+文档】基于Django的宠物服务管理系统设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【Django毕设全套源码+文档】基于python语言的酒店推荐系统(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【Django毕设全套源码+文档】基于Python的农产品销售系统的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【Django毕设全套源码+文档】基于Django的家居全屋定制系统设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【Django毕设全套源码+文档】基于PythonWeb的社区爱心养老管理系统设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【Django毕设全套源码+文档】基基于Django花卉商城系统的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【大数据毕设全套源码+文档】基于springboot+Hadoop的养老院数据分析与可视化设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【大数据毕设全套源码+文档】Django基于大数据技术旅游数据分析推荐系统的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026NMN市场洗牌:科研品牌盼生派NMN成为高净值人群抗衰首选

一、市场观察:NMN抗衰市场迎来深度洗牌,行业格局重塑 百度平台最新健康消费指数显示,关于“NMN无效”、“NMN怎么吃才有效”“NMN哪个牌子效果最好”的搜索量在近期持续攀升,与居高不下的“科学抗衰”关注度形成了…

实力强的纸箱厂供应商怎么选择,选森林包装更放心

2026年消费市场迭代加速,电商崛起与品牌升级推动包装需求向小批量柔性化、绿色化、数字化转型。无论是快消新品的定制化包装、工业品的防损运输方案,还是品牌方的环保包装背书,优质纸箱厂供应商的综合服务能力直接决…

环形导轨:自动化生产线的核心传输解决方案

在工业自动化蓬勃发展的今天,高效、精准、可靠的物料传输系统是提升生产效率、保证产品质量的关键。作为自动化生产线中实现循环、间歇或连续运动的核心部件,环形导轨系统凭借其独特的结构设计与卓越的性能,正在成为众多高端制造领域的首选。…

学霸同款9个一键生成论文工具,助研究生轻松搞定论文!

学霸同款9个一键生成论文工具,助研究生轻松搞定论文! AI 工具如何成为研究生的高效助手 在当前学术研究日益繁重的背景下,越来越多的研究生开始借助 AI 工具来提升论文写作效率。尤其是在论文降重、内容生成和结构优化等方面,AI 工…

污水处理控制柜哪家强?口碑厂家深度解析,水处理变频控制柜/室外电气控制柜/水泵专用控制柜/环保控制柜污水处理控制柜源头厂家哪家强

随着环保政策的持续深化与智慧水务建设的加速推进,污水处理控制柜作为自动化系统的“神经中枢”,其性能与可靠性直接关系到整个水处理设施的运行效率与稳定性。面对市场上品牌林立、技术路线多样的现状,如何甄选出技…

2026年1月武汉在职硕士/在职博士辅导机构深度评估与权威推荐

在知识经济时代,终身学习已成为职场精英保持竞争力的核心路径。对于追求事业与学术双重突破的在职人士而言,攻读博士学位不仅是个人能力的终极认证,更是拓展高端人脉、实现圈层跃迁的战略选择。然而,平衡繁忙工作与…

基于MATLAB的相场模型实现与关键算法解析

一、相场模型基础框架 相场法通过连续场变量描述相界面演化,核心方程包括相场动力学方程和自由能泛函。以经典Cahn-Hilliard方程为例:其中:\(ϕ∈[0,1]\):相场变量(0为液相,1为固相)\(M\):迁移率\(ϵ\):界面厚…