Go问答技术文章
-
用 Go testing.T Cleanup 分层管理共享 fixture 与子测试资源,配合 T.Run 的等待边界协调 Parallel 测试,避免清理过早和闭包串数据。444 收藏 -
围绕 Go testing.T Cleanup 讲清后注册先执行的规则,示范如何按资源依赖登记清理函数、隔离子测试资源并处理清理错误。343 收藏 -
用 Go hash.Hash 和固定缓冲区流式计算文件摘要,覆盖部分读取、EOF、真实 I/O 错误、资源关闭与摘要输出边界。482 收藏 -
用 Go 的 hash.Hash 和 io.MultiWriter 把同一份字节分发给多个独立摘要实例,讲清 Sum 参数、结果命名、Reset 复用和摘要长度边界。223 收藏 -
讲清 Go hash.Hash 复用时 Reset、Write、Sum 的状态边界,用一个串行摘要计算器避免上一条输入串入下一条结果。147 收藏 -
从不可预测性与可复现性出发,区分 Go crypto/rand 的安全随机源和 math/rand/v2 的伪随机种子,给出安全字节、测试重放与代码评审的边界清单。290 收藏 -
讲清 Go crypto/rand.Int 的 [0,max) 参数边界,给出闭区间换算、big.Int 写法、随机源选择和错误处理清单。382 收藏 -
Golang · Go问答 | 2星期前 | 随机数 · 错误处理 · Go问答 · 安全编程 · Go crypto/rand rand.Read错误处理 Go随机字节读取 io.ReadFull短读 Go安全令牌生成
围绕 Go crypto/rand.Read 的 n、err 和长度边界,说明如何封装随机读取、测试短读错误,并在成功前阻止半成品随机数据进入业务。158 收藏 -
用 Go os.CreateTemp 创建临时文件时,创建、写入、关闭和删除是四个不同责任。本文给出一套保留原始错误、无论成功失败都清理文件的实践写法。103 收藏 -
围绕 Go os.CreateTemp 讲清临时文件写入、Sync、Close、路径交接、权限边界与消费后的清理责任。159 收藏 -
Go os.CreateTemp 的 pattern 不是完整文件名模板,而是带可选星号的前缀和后缀规则。本文用批次前缀、随机段和扩展名组成可追踪临时文件名,说明 Name、Write、Close、Remove 的配合方式,以及目录、权限和失败清理的边界。414 收藏 -
Go filepath.Glob 无匹配时不会返回错误,真正需要区分的是空结果、ErrBadPattern 和目录范围问题。本文用可复用代码给出排查与封装方法。199 收藏 -
围绕 Go filepath.Rel 讲清相对路径计算前提、Windows 跨盘错误、VolumeName 与 IsAbs 判断,以及失败后的绝对路径或业务错误回退方案。396 收藏 -
本文用 filepath.IsLocal、filepath.Clean、filepath.Join 和 filepath.Rel 处理 Go 用户路径,说明词法规范化、固定根目录拼接与符号链接安全检查的边界。273 收藏 -
从 net.Listen 的 network 和 address 入手,判断 Go TCP 监听只接受 IPv4 或 IPv6 的原因,并给出单族监听与显式双监听的处理方案。463 收藏