Go语言技术文章
-
用 Go testing 的 ns/op、B/op、allocs/op 识别分配热点,再用 AllocsPerRun 把测量范围缩到一个明确的函数调用。177 收藏 -
Go 1.27 的 httptest.NewTestServer 默认使用内存网络,适合放进 testing/synctest 的并发测试 bubble。本文说明怎样使用 server.Client 发请求、为什么不应调用 Start、URL 和配置的边界,以及 testing.TB 自动清理与 NewServer loopback 模式的区别。177 收藏 -
用Go bytes.CutSuffix判断并移除一次固定字节后缀,区分空主体与未匹配,说明空后缀、重复标记和共享切片的处理方法,并给出返回独立副本的业务函数。177 收藏 -
本文围绕 Go embed.FS 讲清静态资源目录、//go:embed 包级声明、隐藏文件规则,以及如何通过 http.FS、StripPrefix 和 FileServer 接入 HTTP 服务。177 收藏 -
strconv.UnquoteChar 每次只解析输入开头的一个字符或转义序列,同时返回 rune、multibyte、剩余 tail 和错误。本文用字符解析器的场景说明 quote 参数、转义家族、尾串循环与错误边界。177 收藏 -
Java Pattern.splitAsStream 会按照正则匹配到的分隔符创建有序 Stream,末尾空字符串不会进入流;本文用配置文本和日志字段拆分场景说明调用方式、空值边界、可变输入约束,以及它和 split、splitWithDelimiters 的选择差异。 177 收藏 -
GitHub Dependabot 可达性分析在 JavaScript 和 TypeScript public preview 中增加调用路径证据,本文说明四种结果、排序方法、开启条件与安全边界。177 收藏 -
Redis 的 OBJECT IDLETIME 描述对象访问空闲时间,TTL/PTTL 描述键的剩余寿命。本文拆开两种计时语义,并给出生产排查时组合三个命令的方法。177 收藏 -
Go encoding/hex.NewDecoder 适合把十六进制字符流转换为字节流。本文说明分块读取、奇数长度输入、非法字符和 io.ErrUnexpectedEOF 的区别,帮助你正确收尾而不是把不完整数据误判成正常结束。177 收藏 -
Go 的 slices.BinarySearchFunc 在未命中时仍会返回有序边界。本文用自定义比较器说明 n、found 的含义,以及如何把未命中的元素插入正确位置,避免排序规则不一致造成错误下标。177 收藏 -
Go archive/tar 读取 PAX 长路径时,直接使用 Reader.Next 返回的 Header.Name 即可;本文给出最小读取、内容消费和安全提取写法。177 收藏 -
Go linkname 会绕过未导出声明的封装。本文从需求、符号签名、内存布局、Go 版本、链接器、目标架构和回滚路径几个方面说明使用前必须明确的边界。177 收藏 -
magisk 官方安装文档把设备状态、数据备份与 Bootloader 风险放在前置位置。本文据官方入口说明解锁前要核对什么、为什么可能清除数据,以及哪些情况不适合继续。176 收藏 -
解释 Go io.SectionReader.Size 为什么固定返回 section 长度,并区分它与 Read、Seek 改变的当前偏移,给出顺序读取、随机读取和边界判断的实用写法。176 收藏 -
Python 可用 zoneinfo.reset_tzpath 在运行时切换 IANA 时区数据目录,但路径必须为绝对路径,且切换不会自动清空 ZoneInfo 缓存。本文给出完整代码,并比较 reset_tzpath、PYTHONTZPATH 与 tzdata 的适用场景。176 收藏