Go语言技术文章
-
Go netip.Prefix Overlaps 用来判断两个 CIDR 网段是否存在共同 IP。本文从 ParsePrefix 和 Masked 开始,说明 IPv4、IPv6、零值前缀、非法输入与 Contains 的区别,并给出可复用的 Go 封装。419 收藏 -
Go 里传入 0644 却得到不同权限,通常要同时检查创建时的 umask 和文件是否已经存在。本文给出一套可复用的判断顺序与修正代码。419 收藏 -
Vite Environment API 用命名环境承载浏览器、Node 和 Edge 的差异。本文用配置示例说明顶层继承、optimizeDeps 边界和渐进迁移方法。418 收藏 -
本文用 JFR RecordingStream 按事件名消费延迟事件,将回调中的 Duration 转成固定分桶的 count、sum、error、P95 与 P99 窗口快照。示例重点处理阈值、字段兼容、回调阻塞、事件对象生命周期、异常与关闭边界。418 收藏 -
AbortController 的 AbortSignal 是一次性信号,调用 abort 后不能恢复。本文用请求切换场景解释为什么复用旧控制器会让新请求立即取消,并给出每次请求新建控制器、取消旧请求和防止旧响应覆盖新结果的生产写法。418 收藏 -
PHP PDO 处理 JOIN 结果时遇到同名列,FETCH_ASSOC 可能只留下一个键值。本文用 FETCH_NAMED 保留同名列的全部值,并说明数组读取、列顺序和空结果边界。418 收藏 -
Lip Gloss 的带颜色字符串包含 ANSI 控制序列,而中文和 Emoji 又可能占用多个终端单元格,所以 len 和 []rune 都不能代表显示宽度。本文按排障手册拆开长度口径,并给出 lipgloss.Width、lipgloss.Size 的替换方法。418 收藏 -
Go plugin 无法跨任意构建环境直接复用。本文按错误阶段解释工具链、共享依赖源码、构建参数和动态库差异,给出统一构建、符号加载与成套升级回退的方法。418 收藏 -
Go Close 负责关闭文件,不能替代 Sync 的持久化职责。区分 bufio.Flush 与文件同步,提供保留写入、刷新、同步、关闭错误的示例,并说明目录项与存储环境的保证边界。418 收藏 -
Golang · Go教程 | 5天前 | 加密 · Go教程 · crypto/hpke Go HPKE associated data aad Sender.Seal Recipient.Open
Go 的 crypto/hpke 用 aad 把租户、版本和消息序号等公开字段绑定到密文认证范围。本文区分 info 与 aad,给出 Sender.Seal/Recipient.Open 的实现方式,并说明上下文计数器、消息顺序和重放处理的边界。417 收藏 -
Go ast.FilterFile 不只是按名称裁剪顶层声明,它还会无条件移除导入声明。本文用一份带导入、类型和函数的 AST 拆开过滤边界,说明返回值、字段过滤和保留原始导入的处理选择。417 收藏 -
介绍 Redis BITFIELD_RO 的 GET 语法、bit 偏移、返回顺序,以及它与 BITFIELD 在只读副本场景中的使用边界。417 收藏 -
Golang · Go问答 | 3天前 | Go教程 · Go问答 · 文件系统 · Go afero CopyOnWriteFs CopyOnWriteFs 写入 base layer overlay 文件系统
Go afero CopyOnWriteFs 读取基础层成功但原文件不变,是因为写操作会把 base 文件复制到 layer,再只修改覆盖副本。本文从源码关系拆解读写边界,并说明预览隔离、显式同步和直接使用 OsFs 的选择。417 收藏 -
Python fractions.Fraction 可以保留数值的有理表示,limit_denominator 则能把结果约束到指定最大分母。本文解释浮点数转换差异、参数选择方法和常见边界。417 收藏 -
Go 1.23 后无引用 ticker 可被 GC 回收,但后台 goroutine 仍持有 ticker 或没有退出条件时,任务依旧会长期存活。本文用生命周期、Stop 和退出信号拆开排查。417 收藏