如何通过 Golang 日志追踪请求流程

在 Go 服务里做请求级日志追踪,不一定要先上复杂方案。用标准库 `log` 在请求开始、处理过程和结束三个位置打点,就能把一次请求的路径和耗时串起来;等到需要结构化输出、级别过滤或 JSON 日志时,再替换成 `logrus`、`zap` 这类库即可。

如何通过 Golang 日志追踪请求流程

Go 语言中空 `struct{}` 占多少空间?

Go 里的 `struct{}` 常被称为“零大小类型”,但它为什么几乎不占空间、什么时候真能省内存、又有哪些边界条件,很多人并不清楚。本文从 `unsafe.Sizeof` 验证、`zerobase` 机制,到 Set、信号通道和无状态接收器等常见写法,系统说明空结构体该怎么用、哪里要谨慎。

Go 语言中空 `struct{}` 占多少空间?

如何在 Debian 上使用 Golang 搭建 Web 爬虫

这篇文章用一套最小可运行流程,带你在 Debian 上搭建一个 Golang 网页爬虫:先装 Go、初始化模块,再完成一次基础 HTTP 抓取,并进一步用 goquery 提取页面链接。同时补充并发、数据存储和 robots.txt 等扩展与规范,方便你判断这套方案是否适合继续落地。

如何在 Debian 上使用 Golang 搭建 Web 爬虫

如何用 Go 实现 RAG?文档切块、向量化与检索实践

这篇文章用 Go 把 RAG 的核心链路拆成三步:文档切块、Embedding 向量化和相似度检索。你可以直接看懂最小实现,也能据此判断 chunk 大小、重叠比例、Top-K、向量库选型这些参数该怎么取。 想让大模型真正读懂企业知识库,关键不在于把文档一股脑塞进提示词,而在于先把内容拆成可检索的片段,再按问题取回最相关的上。

如何用 Go 实现 RAG?文档切块、向量化与检索实践

Go 语言实现 MCP 服务中的 Prompt:从核心类型到服务端实践

这篇文章围绕 Go 官方 MCP SDK 中的 Prompt 能力展开,重点说明 Prompt 与系统 Prompt 的区别、核心类型如何配合,以及如何落地到可复用的代码审查和技术问答模板。文中保留关键代码与接口,适合用来快速判断 MCP Prompt 在服务端的实现方式。

Go 语言实现 MCP 服务中的 Prompt:从核心类型到服务端实践

Go 里的字节序怎么用:从大端、小端到结构体转换

字节序看起来像底层细节,但只要涉及二进制协议、文件格式或结构体序列化,Go 开发就绕不开它。本文用大端、小端的核心区别切入,结合 `encoding/binary` 的整数与结构体示例,说明在 Go 里该怎么写、什么时候该注意。

Go 里的字节序怎么用:从大端、小端到结构体转换

Go 服务限流怎么用好 time/rate:从令牌桶原理到落地实践

在 Go 服务里做限流,`golang.org/x/time/rate` 往往是最直接也最稳妥的选择。它基于令牌桶算法,既能限制平均速率,也能保留可控突发能力。本文从核心原理、三类常用 API、典型接入方式到参数调整建议,梳理这套库在实际项目中的用法边界。

Go 服务限流怎么用好 time/rate:从令牌桶原理到落地实践