Go语言技术文章
-
用 Checker v2 在 Go 结构体标签中组合 trim、lower、required、email 和跨字段规则,让请求数据先清洗再校验,并统一输出结构化错误。299 收藏 -
Golang · Go教程 | 2星期前 | 标准库 · 配置管理 · 错误处理 · 并发编程 · Go教程 · Go 并发初始化 共享配置 sync.OnceValue sync.OnceValues
Go 1.21+ 可用 sync.OnceValues 把共享配置与初始化错误作为一对结果缓存,避免 sync.Once 配合外部变量造成分散状态。本文通过可测试的 ConfigProvider 展示并发只加载一次、错误传播及不适合自动重试的边界。482 收藏 -
数据库 · Redis | 2星期前 | Redis · 分页 · 缓存设计 · 排行榜 · Sorted Set · ZREVRANK Redis Sorted Set 排行榜 同分排名 排行榜翻页 历史榜单
讲清 Redis Sorted Set 排行榜中同分排序与业务名次的区别,并给出并列排名、版本化翻页、周期键历史榜单和过期保留的实用设计。189 收藏 -
RWMutex 不会天然比 Mutex 快。本文用并发配置缓存说明读写锁的临界区边界、待写者阻塞新读者、不可升级降级等语义,并给出可调整读写比例的基准模板,帮助你按真实竞争场景做选择。325 收藏 -
用 MySQL WITH RECURSIVE 从邻接表生成组织树,讲清根节点参数、层级字段、路径排序、终止条件、深度上限与循环防护,并给出可直接改造的 SQL。127 收藏 -
通过一个可运行的 Go 内存索引示例,讲清 RWMutex 的读写边界、不可变条目约定、写前准备、读快照、整表替换,以及竞态检测和基准测试方法。187 收藏 -
两张原创9:16深海琉璃水母手机壁纸,包含无水印预览与下载、完整中英文提示词,以及锁屏留白、主体位置、气泡密度、光线和裁切调整方法。490 收藏 -
Go 官方建议不要把 Context 保存进结构体,因为请求级取消、deadline 和值的生命周期会被对象复用混在一起。本文用按调用传递、生命周期检查和 net/http 兼容性例外说明该规则的边界。227 收藏 -
本文整理施工分包进场前的人员与安全资料核对方法,覆盖单位准入、项目安管人员、特种作业证书、实名教育、技术交底、专项方案、设备防护及缺项闭环。397 收藏 -
本文用 uploadId、固定分片索引和服务端状态对账实现前端大文件上传,讲清有限并发、XHR 暂停、失败重试、恢复补传及页面刷新后的续传协作方式。371 收藏 -
Go Context 适合携带 trace ID、请求来源等请求级元数据,不适合隐藏订单号、分页条件等业务参数。本文用类型安全的 WithValue 写法、显式 API 参数和取消传播示例说明边界。263 收藏 -
Golang · Go问答 | 2星期前 | golang · Context · 并发编程 · 超时控制 WithTimeout WithCancel Go context 取消传播 WithoutCancel
本文从停止权、时间预算和父级脱离三个维度比较 WithCancel、WithTimeout 与 WithoutCancel,解释父子取消传播、CancelFunc 回收、nil Done 风险,并给出请求后短任务的有界组合写法。202 收藏 -
用 nftables 为容器主机建立最小入站规则,区分 input 与 forward,放行状态连接、管理 SSH 和公开端口,并给出安全加载与排障清单。373 收藏 -
Golang · Go教程 | 2星期前 | goroutine · Context · Go教程 · 批处理 · 批处理 Timer WithTimeout Go context WithCancelCause 父子取消链
本文用 root、batch、job 三层 Context 组织批处理生命周期,演示系统信号、整批失败和单任务超时的传播边界,并说明如何及时调用 CancelFunc、停止重试 Timer 与 Ticker。441 收藏 -
Golang · Go问答 | 2星期前 | goroutine · Context · 并发编程 · 故障排查 · Go问答 · channel WaitGroup Go context ctx.Done 阻塞排查 context.Canceled
Context 取消只会关闭 Done 通道,不会自动打断 channel 收发、WaitGroup、Mutex、Sleep 或不支持 Context 的 I/O。本文按取消链、阻塞点和下游 API 三层给出排查与修复方法。144 收藏