Go语言技术文章
-
Go 里的无标签 break 只结束最近的 for、switch 或 select。本文用嵌套示例说明为什么 switch 中的 break 不会跳出外层循环,以及标签、函数拆分和返回值的选择。125 收藏 -
Redis Lua 脚本返回多个值时,先把结果设计成稳定的索引数组,再按客户端类型解析;本文说明 Lua 表、RESP 数组、Python list、Go 切片和空值之间的映射。125 收藏 -
Go 多包测试中,TestMain 不是全局入口:每个包拥有独立测试二进制。本文说明 m.Run 返回码、清理逻辑和 os.Exit 的边界,避免初始化重复、defer 不执行和失败状态丢失。125 收藏 -
Golang · Go问答 | 5天前 | 并发 · Context · Go问答 · channel生命周期 · 协程退出 · range Go channel context WaitGroup goroutine泄漏
channel range 结束只说明 channel 已关闭且缓存值已读完,不代表发送方 goroutine 已经退出。本文用发送方关闭 channel、WaitGroup 汇总和 context 取消,说明如何确认发送方真正结束并避免协程泄漏。125 收藏 -
multiprocessing.Queue 的 close() 不会立刻杀掉 feeder thread,它还要把缓冲数据刷入 pipe。本文解释 close、join_thread 与 cancel_join_thread 的边界,并给出避免进程退出卡住的关闭顺序。125 收藏 -
Go multipart boundary 缺失时,先检查 Content-Type 参数,再区分请求头、请求体和字段层问题;本文给出客户端发送与服务端诊断的可靠写法。125 收藏 -
pkg.go.dev 已提供面向 Go 模块元数据的官方 JSON API。本文从 package、module、versions 等端点入手,说明版本参数、歧义模块路径与自动化客户端的处理边界。125 收藏 -
讲清 Go text/template 如何通过 FuncMap 注册自定义函数,为什么必须先 Funcs 再 Parse,以及如何处理函数签名、error 返回和生产环境初始化顺序。125 收藏 -
用 Go 的 atomic.Uint64 实现并发请求计数,掌握 Add、Load、零值、复制限制、溢出与旧版 sync/atomic 函数的使用边界。125 收藏 -
解释 Go httptest.ResponseRecorder 为什么常见 200,梳理 NewRecorder 初始值、Write 的隐式状态、WriteHeader 首次生效和 Result().StatusCode 的稳定断言边界。125 收藏 -
Go 的 bytes.Reader 适合从 []byte 创建只读游标。本文用一个可运行示例说明 Read、ReadAt、Seek、Len、Size 和 Reset 的区别,帮助你按顺序读取或按偏移取字节。125 收藏 -
Go 服务里把配置藏在全局变量和 init 里,短期省事,长期会让测试、灰度和排查变难。更稳的做法是启动时解析并校验配置,再通过构造函数显式传入依赖。124 收藏 -
选漫画阅读器不能只看免费和更新快。先确认作品授权或出版信息,再试读几页核对阅读方向、翻页方式和画面清晰度;离线、订阅、票券和设备同步也要看清规则,避免误入不明下载页。124 收藏 -
CSS reading-flow 可以在特定布局场景下调整 Grid 或 Flex 子项的阅读与 Tab 顺序,但它仍是实验性能力,必须优先保持合理 DOM 顺序,并用浏览器能力检测安排降级。124 收藏 -
2026年重阳节是10月18日,农历九月初九,也是老年节,但不属于国家法定节假日。本文说明日期怎么核对、是否放假以及为家中老人安排活动时需要注意的事项。124 收藏