Go语言技术文章
-
用最小 Go 程序复现 os.OpenFile 的权限差异,解释 O_CREATE、perm、umask 与已有文件权限之间的关系,并给出需要显式 Chmod 时的处理方式。363 收藏 -
Go XML Strict=false 只适合来源明确、缺陷可解释的兼容导入。说明缺失结束标签与未知实体的处理,区分 Strict、Entity、AutoClose 的职责,并给出独立输入流的完整 Token 比较示例。362 收藏 -
Go os.Lstat 升级后结果不同时,先固定输入与运行环境,再对照真实构建版本。通过原创只读探针、字段比较和环境矩阵,定位工具链、部署条件或应用展示层的差异。361 收藏 -
Go http.Cookie 不生效时,先区分响应头 Set-Cookie 与请求头 Cookie,再检查 CookieJar、Path、Domain、Secure、SameSite、写入时机和字段合法性。361 收藏 -
strconv.ParseInt 只有 base=0 时按 Go 整数字面量规则允许下划线。本文比较前缀推断、显式进制、ErrSyntax 与 ErrRange,帮助固定配置输入契约。361 收藏 -
介绍Go image/color在RGBA与NRGBA间转换的模型写法,解释预乘Alpha、RGBA方法、整图处理、量化误差及完全透明颜色的信息丢失。359 收藏 -
Go testing.T.Chdir 会修改整个测试进程的当前工作目录,因此不能和 t.Parallel 或拥有并行祖先的测试混用。本文解释冲突原因,并给出串行使用和显式传递目录两种安全组织方式。359 收藏 -
Go 的 Cmd.Wait 不只等待主进程退出,还可能等待 stdout、stderr 的复制循环收尾。本文用 WaitDelay 拆解后代进程遗留管道导致的阻塞,演示如何设置等待上限并用 errors.Is 判断 ErrWaitDelay,同时说明阻塞 Writer 和进程树管理的边界。359 收藏 -
本文用一个目录摘要工具串起 filepath.WalkDir 的输入边界、目录过滤、普通文件统计、遍历错误和大文件排序,帮助你把标准库 API 组合成可维护的 Go 命令行程序。354 收藏 -
介绍 Go scanner.ErrorList.RemoveMultiples 的排序和按行去重语义,说明如何保留完整原始诊断、生成一条一行的展示结果,以及无效位置和原地切片修改的边界。354 收藏 -
本文用 Go debug/macho 读取 Mach-O 的 Dysymtab.IndirectSyms,说明它与 Symtab.Syms 的索引关系,并给出处理缺少表、空表和越界索引的只读示例。354 收藏 -
Go crypto/rand.Prime 接收随机源和二进制位数,成功返回随机素数,bits 小于 2 或底层随机读取失败时返回错误。本文用一个小函数说明位数单位、错误传播,以及 Go 1.26 之后 Reader 参数的实际边界。353 收藏 -
Go container/list 的 Remove 会返回被删除节点的 Value。本文说明 any 类型断言、删除后的节点边界,以及遍历删除时保存 Next 的写法。353 收藏 -
Go bytes.Buffer 判断读取位置是否到末尾,核心看未读长度 Len() 是否为 0;循环读取时还要结合 n 和 io.EOF,区分空切片、容量和真正的读取结束。353 收藏 -
Go net/http.Transport 升级后出现连接复用、延迟或连接数变化时,不要先猜版本回归。本文用最小客户端、httptrace、Response.Body 生命周期和显式 Transport 配置,建立一套可比较的定位方法。349 收藏