Go语言技术文章
-
time.Time.Round 不只是把纳秒取整:它按墙上时间计算,并会去掉单调时钟读数。因此原值与 Round 结果用 ==、Equal、Compare 比较时可能得到不同结论。本文用最小示例拆开三种语义,并给出测试断言和时间键的选择方法。195 收藏 -
Redis CF.DEL只能用于确认加入的元素,概率阳性不能代替精确证据。本文结合最小命令、删除资格与交互状态,说明重复加入、并发请求、过滤器重建和结果不确定时的处理边界。195 收藏 -
解释 go test 的两种执行模式、(cached) 命中条件、count=1 对照方法和 go clean -testcache 的清理边界,帮助排查修改后结果不变。195 收藏 -
前端 source map 不只是调试开关,也决定了浏览器能看到多少源码信息。本文从 sourceMappingURL、sourcesContent 和生产构建策略入手,说明如何把调试地图留在受控错误上报链路中。194 收藏 -
Go JSON Decoder 在 Decode 前调用 UseNumber,可将动态接口中的数字保留为 json.Number。本文说明低位丢失的排查方法、Int64 范围与错误处理,以及从文本转换大整数的边界。194 收藏 -
介绍 Linux /proc/PID/status 与 /proc/PID/smaps 的内存指标差异,给出 Python 解析示例,并说明如何按采集成本划分快照层和诊断层。194 收藏 -
说明Badger迭代器持有的底层引用、预取任务与活动计数,区分Close和事务结束,给出提前返回、循环扫描的清理写法及内存排查注意事项。193 收藏 -
用 Go 的 os.File.Truncate 调整文件字节长度,区分缩短、扩展、I/O 偏移不变和 PathError 错误处理,附带可复用的最小示例与回归检查清单。193 收藏 -
Go archive/tar 可以读取稀疏归档并暴露 SparseHoles,但标准 Writer 当前不能直接把 sparse map 编码成 GNU/PAX 稀疏条目。本文说明正确的 Header 表达、普通 tar 写法和兼容方案。193 收藏 -
Golang · Go问答 | 6天前 | 依赖管理 · go · go work sync go work vendor Go workspace inconsistent vendoring Go依赖同步
Go 多模块工作区出现 inconsistent vendoring 时,关键不是手改 vendor/modules.txt,而是先确认 GOWORK 和 use 范围,再同步工作区构建列表、整理模块依赖并重建 workspace vendor。本文给出可复用的排查、同步和 CI 验证步骤。192 收藏 -
同一个无时区日期在不同机器上出现一天偏移,通常不是日期字符串变了,而是解析位置没有明确。本文从 time.Parse 的 UTC 默认行为出发,说明 time.ParseInLocation 如何绑定 Location,并处理显式偏移、时区缩写、IANA 时区加载和夏令时边界。192 收藏 -
Python 3.15 把 frozendict 加入内置类型。本文从默认配置、运行时覆盖和缓存键三个场景出发,说明如何构造与合并不可变映射,并梳理浅不可变、哈希条件和 dict 类型判断的边界。192 收藏 -
Linux 定时任务不只是表达式选择:本文从日志、服务依赖、错过执行、失败处理和任务重叠几个边界比较 cron 与 systemd timer,并给出两套最小配置。192 收藏 -
Golang · Go问答 | 2天前 | 反射 · panic · go · 类型转换 · Go strconv reflect.Value.Convert CanConvert ConvertibleTo
reflect.Value.Convert 只执行 Go 允许的类型转换,不负责把字符串解析成数字。本文说明 CanConvert 与 ConvertibleTo 的使用边界、strconv 解析文本的方法,以及 slice 转 array pointer 时必须补充的长度检查。192 收藏 -
围绕 sync.Map.Range 回调内删除当前键的场景,说明 Delete 为什么可以调用、Range 为什么不是一致快照,以及缓存清理时如何选择实现。191 收藏