2025-07-27 Go Go 项目中的 doc.go 文件是干嘛的? 作为广大 Gopher 中的一员,你一定在 Go 项目中写过或者见过一个叫 doc.go 的文件,不知道你是否好奇这个文件到底是干嘛的,它有哪些作用?本文就来介绍一下 doc.go 这个文件。 阅读全文…
2025-07-17 Go 万字长文:彻底掌握 Go 1.23 中的迭代器 本文带大家一起来深入探究一下 Go 1.23 中发布的迭代器特性,这是一篇迟来的文章,再不写这篇文章 Go 1.25 就发布了 :),Go 1.25 预计将于 2025 年 8 月发布。 阅读全文…
2025-07-05 Agent 记一次在 K8s 环境中排查 Agent 选择多个 MCP 后无结果返回问题 本文完整的记录了我在遇到 Agent 选择多个 MCP 后进行聊天,无法获得返回结果的一次排查案例,以此来提醒自己不要再犯愚蠢的错误。 阅读全文…
2025-06-21 Go Go 官方推荐的 Go 项目文件组织方式 刚开始接触 Go 的开发者大概都会遇到一个问题:我该如何组织我的 Go 项目?这种问题当然没有标准答案,不过 Go 官方下场,给了广大 Gopher 一个推荐模板。本文就来带大家一起来学习一下 Go 官方对于 Go 项目布局的指导原则。 本文以 Go 官方博客「Organizing a Go module」为基石进行讲解。 阅读全文…
2025-06-14 翻译 重新发明轮子:重构以求知,复用以成事 原文地址:https://endler.dev/2025/reinvent-the-wheel/ 2025年5月24日 前段时间读到一篇文章《Reinvent the Wheel》,身为一位技术人颇有感触,以下是全文完整翻译: 阅读全文…
2025-06-08 Go 在 Go 中为什么推荐使用空结构体作为 Context 的 key 我曾在《Go 中空结构体惯用法,我帮你总结全了!》一文中介绍过空结构体的多种用法,本文再来补充一种惯用法:将空结构体作为 Context 的 key 来进行安全传值。 阅读全文…
2025-06-01 Go Go 语言 fsm 源码解读,这一次让你彻底学会有限状态机 我在文章《在 Go 中如何使用有限状态机优雅解决程序中状态转换问题》中讲解了有限状态机的概念,并介绍了 Go 中有限状态机 fsm 包的使用。本篇文章,我将更进一步,直接通过解读源码的方式,让你深刻理解 fsm 是如何实现的,这一次你将彻底掌握有限状态机。 阅读全文…
2025-05-25 Go 在 Go 中如何使用有限状态机优雅解决程序中状态转换问题 在编程中,有限状态机(FSM)是管理复杂状态流转的优雅工具,其核心在于通过明确定义状态、事件和转换规则,将业务逻辑模块化。本文将探讨在 Go 中如何使用有限状态机。 阅读全文…
2025-05-17 工具 一行命令统计代码行数 我在网上冲浪时,在 GitHub 上发现了一个感兴趣的开源项目 OneX ,我将其下载到本地,现在我该如何知道这个项目的体量呢?一个非常直观的指标是看这个项目有多少行代码。 阅读全文…
2025-05-14 Go 使用 MCP Gateway 一键将你的 HTTP 接口转换成 MCP Server 最近 MCP 非常火热,各家厂商也都提供了自己的 MCP Server 实现,截止发文当日在 https://mcp.so/ 网站中已经收录了超过 1.3w+ 数量的 MCP Server,仿佛一夜之间所有的 HTTP 接口都变成了 MCP 接口。 MCP Server 短期内如此大规模的爆发,市面上这么多的 HTTP 服务,全部要转换成 MCP 服务,显然不是一天两天就能通过开发实现的,这需要大量的人力资源。那么有没有一种方式能够低成本的将 HTTP Server 转换成 MCP Server 呢?本文就为大家介绍一款能够实现一键将你的 HTTP 接口转换成 MCP Server 的 Go 项目 mcp-gateway。 阅读全文…