Go语言技术文章
-
Redis TTL 不按预期过期,通常不是 Redis 忽略了时间,而是过期没有成功写入、后续 SET 覆盖清除了 TTL,或把主动清理误解成精确计时。本文用 TTL、PTTL 和最小命令集逐层定位。380 收藏 -
Go bytes.FieldsSeq 在 Go 1.24 起返回 iter.Seq[[]byte],按 unicode.IsSpace 规则遍历字段,不先创建承载全部结果的二维切片;本文从旧接口迁移、空白边界、切片生命周期和提前停止四个方面给出可直接使用的写法。380 收藏 -
systemd-cgtop 按 cgroup 实时观察服务的 CPU、内存、任务数和磁盘 I/O。本文说明按资源排序、缩小层级、解释 accounting 空白与多核 CPU 百分比,并用 batch 模式导出有限次采样。380 收藏 -
用可选 Sender 示例解释 Go 接口为何会携带 nil 指针,区分接口比较、类型断言和对象可用性,并通过构造函数明确缺席时的 nil 返回约定。380 收藏 -
Redis 普通 SET 会替换键的过期设置。本文说明怎样用 KEEPTTL 覆盖字符串值、用 TTL/ PTTL 确认结果,并梳理 XX、永久键以及 EX/PX 参数冲突。379 收藏 -
Go 处理超出 int64 范围的业务整数时,应使用 math/big 的 big.Int.SetString 完整解析,明确十进制与 base=0 的区别,检查失败标记并在转 int64 前确认范围。378 收藏 -
数据库 · MySQL | 1天前 | MySQL · mysql SET PERSIST SET PERSIST_ONLY RESET PERSIST mysqld-auto.cnf SET GLOBAL
MySQL 的 SET GLOBAL 只改变当前实例运行时值,SET PERSIST 还会把配置写入 mysqld-auto.cnf;SET PERSIST_ONLY 只持久化而不改当前值。本文用生效时机、变量可写性、权限和回退动作说明四条语句该怎么选。378 收藏 -
说明goquery空选择集调用Attr和Eq的返回行为,区分无节点、缺失属性与空属性值,并用完整Go示例建立必填字段错误边界。377 收藏 -
用 Go net/netip 完成地址解析、IPv4 映射识别、CIDR 前缀判断和稳定格式化,理清 Is4、Is4In6、Is6、Unmap、ParsePrefix 与 Masked 的使用边界。377 收藏 -
说明 Go gzip.Writer.Close 为什么不能省略:它会完成压缩状态并写出 gzip 尾部信息。文章给出正确的 defer 关闭顺序,区分 Flush 与 Close,并整理读取不完整、底层关闭失败等排查边界。374 收藏 -
Go 二进制在 Alpine 启动失败时,应读取 ELF 架构、解释器和动态库需求,区分平台错误与 glibc/musl 不匹配。本文给出 readelf 排查命令,以及纯 Go 构建、musl 重编译和 glibc 运行环境的选择边界。374 收藏 -
Go 模块发布错误版本后,不要删除旧 tag 或覆盖原版本。本文说明如何在 go.mod 使用 retract 撤回单个版本或版本区间,为什么必须发布更高版本,以及如何用 go list 和 go get 核对撤回提示与兼容边界。374 收藏 -
Go strings.Builder 的容量优化关键不在盲目调用 Grow,而在于按最终文本的字节数估算预算、用 Len 和 Cap 观察结果,并把 String、Reset 与禁止复制非零 Builder 的边界分清。374 收藏 -
Go 在 Linux 子进程结束后,通过 Wait、ProcessState 和 Rusage 读取 CPU 时间与峰值 RSS。示例保留失败任务统计,区分墙钟耗时、实时内存和累计子进程口径。373 收藏 -
Go Goldmark 默认不渲染 Markdown 中的原始 HTML,原因在 HTML renderer 的安全选项。本文说明 html.WithUnsafe 的职责、受信任模板的配置方式,以及不可信内容为什么不能直接开启。372 收藏