Day 8:Go Web 框架快速上手 1. 背景与目标 在前几天的学习中,我们已经掌握了 Go 的基础语法、并发模型和一些工具链。今天我们要把 Go 作为 Web 后端语言 来使用。 本章目标: 理解 标准库 net/http 的特点与不足 熟悉 主流 Web 框架 Gin/Fiber 的用法 通过 实现用户注册与登录接口 来实战演练 2. 标准库 net/http Go 内置的 net/http 非常简洁,它内置了 HTTP Server 和 Client,代码风格偏低级,但很灵活。 示例:Hello World package main import ( "fmt" "net/http" ) func helloHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, […] →Read more
第一天:环境准备与第一个 Go 程序 学习目标 搭建 Go 开发环境 熟悉 go mod、go run、go build 编写并运行第一个 Go 程序 通过 LeetCode 简单题体验 Go 语言语法 思考与服务开发的关联 1. 环境搭建 安装 Go 访问 Go 官方下载页面。 选择对应平台的安装包 (Windows、macOS、Linux)。 安装完成后,验证版本: go version 输出类似: go version go1.22.2 darwin/amd64 配置工作区 推荐使用 Go Modules(Go 1.13+ 默认支持)。 检查是否启用: go env GOMOD 如果输出为空,可以在项目目录执行: go mod init myservice IDE 选择 […] →Read more
第一部分:基础篇(Day 1 – Day 7)—— 打牢Go编程与服务开发根基 Day 1:Go 开发环境与工具链 Go Modules、依赖管理 常用 IDE(VSCode、GoLand)与调试技巧 使用 go test 进行单元测试 Day 2:数据结构与 map 底层 LeetCode 示例:两数之和(HashMap 应用) Go 中 map 的键比较规则,底层实现 最佳实践:map 并发访问与 sync.Map Day 3:切片与内存模型 LeetCode 示例:三数之和 / 滑动窗口 切片扩容机制、内存逃逸 实战:写一个安全的分页查询函数 Day 4:并发基础 goroutine 与调度原理 LeetCode 示例:生产者-消费者模型(多线程版) 实战:用 channel 实现工作池 Day 5:错误处理与上下文 Go 错误处理哲学 context.Context 的用法(超时、取消、请求范围数据) 实战:写一个带超时的 […] →Read more