Go语言技术文章
-
PHP 8.5 将 PDO 驱动专属常量标记为弃用,本文按 MySQL、SQLite、PgSQL 等驱动整理替换代码、兼容边界与回归检查清单。162 收藏 -
Golang · Go问答 | 3星期前 | CGO · 垃圾回收 · Go问答 · Go运行时 runtime.AddCleanup runtime.SetFinalizer runtime.KeepAlive 显式Close 资源生命周期
runtime.SetFinalizer 的触发时机无法承担确定性资源释放。本文从显式 Close、runtime.AddCleanup 和 runtime.KeepAlive 三个边界出发,说明如何替代不及时的 finalizer,并处理父子资源、并发关闭和 cgo 指针规则。162 收藏 -
动漫岛首页把“今日新更”作为集中展示更新内容的入口,同时提供追番列表和动漫库。本文说明这些页面线索的区别,以及为什么不能把展示区等同于全部内容更新。162 收藏 -
Go 的 cmp.Equal 默认按切片下标比较,元素相同但顺序不同仍会判不等。本文用 cmpopts.SortSlices 为基本类型和结构体切片提供确定性排序规则,并说明重复元素、nil 与空切片的边界。162 收藏 -
Go maps.Copy 会把来源 map 的键值写入目标 map,同名键由来源覆盖。本文围绕默认配置、文件配置和环境覆盖说明调用顺序、nil 目标与嵌套 map 的浅层边界。162 收藏 -
Go ldflags 注入变量为空时,优先检查包路径、包级 string 变量和最终构建命令。本文用 go list 获取真实 import path,说明 -X 的变量边界、shell 引号和 CI 二次构建覆盖问题。162 收藏 -
Java 模式 switch 的 default 不接收 null。本文通过独立空值分支、组合兜底和输入矩阵,说明如何区分缺失值与未知类型,定位分支内部的空指针风险。162 收藏 -
围绕 sync.Pool 的临时对象语义,说明 New、Get、Put、Reset 和对象所有权边界,解释为什么 Pool 不能保存业务状态、不能依赖命中率与取出顺序,并给出缓冲区复用与方案选型示例。162 收藏 -
Go 目录读取不能只看 error。os.ReadDir 可能返回已经读到的目录项和错误;os.File.ReadDir 按批次读取时要先处理 entries,再区分 io.EOF 与真正的读取失败。162 收藏 -
Redis Search 按字段聚合时,用 FT.AGGREGATE 配合 GROUPBY 和 REDUCE 生成分组统计,再用 SORTBY、MAX 和 LIMIT 控制排序范围与分页。162 收藏 -
TypeScript satisfies 可检查对象约束并保留成员形状,但不保证所有属性都是精确字面量。通过导航配置对比类型注解与 as const,说明可写范围、额外字段和运行时数据的处理区别。162 收藏 -
从 Go HTTP/2 的连接错误和 HPACK 解码证据出发,区分非法索引、字符串编码、动态表更新与头部大小问题,并给出日志分类和修复边界。162 收藏 -
讲清 Redis 7.0+ SSUBSCRIBE 的 slot 约束,并用 go-redis/v9 展示如何按 hash tag 订阅分片频道。162 收藏 -
Linux procfs 可以把进程的打开文件、描述符属性和挂载视图串起来。本文按目标 PID、fd、fdinfo、mountinfo 和权限边界,给出一套可复用的读取与关联方法。162 收藏 -
Go x509 证书链验证通过信任检查后,仍可能被中间 CA 的 NameConstraints 拒绝。本文说明 PermittedDNSDomains、ExcludedDNSDomains、叶子证书 SAN 与 VerifyOptions 的关系,并给出错误定位顺序。162 收藏