Go语言技术文章
-
Go os.CreateTemp 可以用随机文件名安全创建临时文件,但关闭文件和删除路径仍由调用方负责。本文说明目录参数、星号模式、扩展名保留、错误处理,以及单文件和临时目录的选择。365 收藏 -
说明Go cgo中GoString与GoStringN的选择,用完整示例区分NUL文本和带长度数据,讲清复制、C内存释放责任、内嵌零字节与编码边界。365 收藏 -
Go os/exec 的 Cmd.ProcessState 只能在子进程成功启动并完成 Run 或 Wait 后读取。本文比较 Run 与 Start 加 Wait,说明怎样区分启动错误、非零退出和成功退出,并用 ExitCode、Success、Exited 处理状态边界。363 收藏 -
strings.CutSuffix 返回去掉后缀后的字符串和 found 标志。后缀未命中时返回原字符串与 false;空后缀是一个特殊的命中场景,返回原字符串与 true。本文用最小写法和业务封装说明如何把两种情况分开处理。363 收藏 -
fmt.Fscan 面向空白分隔的字段扫描,会跳过前导空白并把换行当作空格。本文说明它为什么不适合保留整行空格,并给出按字段或按行读取的选择方法。362 收藏 -
Go os.Lstat 升级后结果不同时,先固定输入与运行环境,再对照真实构建版本。通过原创只读探针、字段比较和环境矩阵,定位工具链、部署条件或应用展示层的差异。361 收藏 -
Go 中 *MyError(nil) 放进 error 接口后为何仍不等于 nil?本文用动态类型、动态值和可复制的排查代码说明原因,并给出正确返回方式。359 收藏 -
介绍Go image/color在RGBA与NRGBA间转换的模型写法,解释预乘Alpha、RGBA方法、整图处理、量化误差及完全透明颜色的信息丢失。359 收藏 -
Go testing.T.Chdir 会修改整个测试进程的当前工作目录,因此不能和 t.Parallel 或拥有并行祖先的测试混用。本文解释冲突原因,并给出串行使用和显式传递目录两种安全组织方式。359 收藏 -
Go netip.AddrFrom4 接收 [4]byte 并构造原生 IPv4 地址值。本文说明如何读取 String、Is4、As4,怎样处理 []byte 和文本输入,以及 IPv4-mapped IPv6、0.0.0.0 与零 Addr 的边界。358 收藏 -
使用 Go syscall.Flock 在 Unix 类系统中实现单实例文件锁,讲清 LOCK_EX、LOCK_NB、占用错误、文件描述符生命周期和单机边界。355 收藏 -
本文用一个目录摘要工具串起 filepath.WalkDir 的输入边界、目录过滤、普通文件统计、遍历错误和大文件排序,帮助你把标准库 API 组合成可维护的 Go 命令行程序。354 收藏 -
Go net/http.Transport 升级后出现连接复用、延迟或连接数变化时,不要先猜版本回归。本文用最小客户端、httptrace、Response.Body 生命周期和显式 Transport 配置,建立一套可比较的定位方法。349 收藏 -
Go 按字节截断可能拆开 UTF-8 编码。本文比较完整字节前缀与 rune 前缀,提供严格输入的原创函数,并说明替换字符、流式尾部和字素簇的判断边界。348 收藏 -
Go 升级后 encoding/json.Decoder 的结果或错误发生变化时,不要先修改业务逻辑。本文按工具链、实现、Decoder 配置、输入字节和目标类型五层建立最小复现矩阵,说明如何区分真实语义差异与错误文本变化。347 收藏