一个人也能搞定全栈,Go + HTMX 值得一试

对很多独立开发者和 Go 后端工程师来说,真正拖慢后台项目的,往往不是业务本身,而是前端工程体系的额外复杂度。Go + HTMX + Templ 这套组合的价值,在于用服务端返回 HTML 片段取代大量 JSON 与手写 JS,把交互、模板和后端逻辑重新收拢到一条更短的链路里。

一个人也能搞定全栈,Go + HTMX 值得一试

Go 多路复用技术实践指南

Go 的多路复用并不只是一个 `select` 语法点,它同时牵涉 `goroutine` 调度、`channel` 协作以及底层 `epoll`、`kqueue`、`IOCP` 的事件通知机制。本文从工作原理、平台支撑到三类常见场景拆开说明,帮助你判断它适合解决什么问题、该怎么用,以及哪些地方最容易踩坑。

Go 多路复用技术实践指南

Go Generate 讲透:让重复代码自动生成,但别把项目搞复杂

`go generate` 是 Go 1.4 引入的官方代码生成机制,适合处理枚举字符串、Protobuf、Mock、文档等重复工作。它不会在编译时自动执行,优点是流程透明、可控。本文从基本用法、典型场景到落地细节,帮你判断它该在项目里怎么用、该用到什么程度。

Go Generate 讲透:让重复代码自动生成,但别把项目搞复杂

Go 代码的进化美学:errors.AsType 错误处理新范式

Go 1.26 新增的 `errors.AsType`,把错误类型提取从“先声明变量再判断”压缩成一行,同时保留了 `errors.As` 的错误链遍历能力。它的价值不只是少写几行代码,更在于缩小变量作用域、让多类型分支判断更顺手,但前提是类型参数必须和错误链中的实际存储类型一致。

Go 代码的进化美学:errors.AsType 错误处理新范式

Go 语言 context.Value 的强类型安全实践

`context.Value` 常被拿来偷渡数据库连接、配置和业务参数,表面省事,实际把依赖隐藏进运行时。本文围绕 Go 中最常见的两类问题展开:类型断言导致的 panic,以及字符串 Key 冲突;再给出私有 Key 与强类型封装的可落地写法,并说明哪些数据该放进 Context。

Go 语言 context.Value 的强类型安全实践