Go语言技术文章
-
Go embed.FS中的路径是跨平台的虚拟路径。本文从失败现象出发,说明反斜杠为何会让ReadFile找不到文件,并给出正斜杠、path.Join和测试复查的处理方法。408 收藏 -
Go os/exec 的 WaitDelay 不只是命令超时参数,它还限制子进程退出后遗留 I/O 管道的收尾等待。本文用 CommandContext、ErrWaitDelay 和输出管道示例说明配置方式与边界。408 收藏 -
复用 Go hash.Hash 时,Sum 只读取当前摘要而不会清空状态,独立消息必须在 Write 前明确 Reset。本文用错误与正确示例解释状态边界、Sum 的追加语义、sync.Pool 的独占借用原则,并给出可复现的 benchmark 方法判断复用是否值得。408 收藏 -
Go 读取 JPEG 宽高无需先解码像素:jpeg.DecodeConfig 会返回 ColorModel、Width 和 Height。本文用一次故障复盘讲清 Reader 消费、像素门禁与二次解码边界。408 收藏 -
Go vendor 目录已经更新却仍提示依赖不一致,通常是 vendor/modules.txt 与 go.mod 的 require、replace 或显式标记不同步,或在 workspace 中用了单模块命令。本文给出完整排查流程。408 收藏 -
用 archive/tar 解包时,先读取 Header.Mode 和 Typeflag,再按成员类型创建目录、写入文件并恢复权限,避免脚本或只读文件的模式丢失。408 收藏 -
Go SJSON 追加数组元素时,路径末尾使用 -1,例如 items.-1。本文拆开说明它与具体下标、越过数组末尾和数字对象键的区别,并给出可直接改写 JSON 的示例。408 收藏 -
Go 的 vendor 模式和模块缓存不是两份等价副本:-mod=vendor 从项目根目录的 vendor 读取,-mod=mod 才会走模块缓存。本文按命令来源、modules.txt、工作区和工具链四个边界定位结果差异。408 收藏 -
Web Worker 默认会通过 structured clone 复制消息数据。本文用 ArrayBuffer 说明 transferable objects 的写法、发送端 detached 状态、TypedArray 与底层 buffer 的关系,以及结果转回主线程时的生命周期边界。408 收藏 -
gctrace 的 clock、cpu 与堆目标各有统计口径。本文区分 STW 和并发标记、goal 与 RSS,说明先构建后采集的写法,以及日志开销、采样周期和结构化指标的边界。408 收藏 -
上线 AI 模型前不要只看评测分数。本文围绕模型卡中的许可证、训练数据说明和适用范围,整理一份可交接的限制条件清单,并说明如何把缺失信息、人工兜底和提供商选择写进发布决策。408 收藏 -
Go 的 archive/tar 会把 PAX 扩展头关联到后续条目。本文用 Reader.Next 顺序读取 tar,说明长路径应看 Header.Name,自定义 PAX 键值应看 Header.PAXRecords,并列出格式判断和兼容边界。408 收藏 -
PHP PDO 使用预处理语句时,先将输入归一化,再用 PDO::PARAM_INT、PDO::PARAM_STR 和 PDO::PARAM_NULL 显式绑定,避免整数、字符串与 NULL 语义被隐式转换。407 收藏 -
Go append 是否改到原切片,关键看两个切片是否共享底层数组以及剩余容量。本文用 len、cap、三索引切片和 slices.Clone 给出判断与隔离方法。407 收藏 -
金砖弱网可从公开产品资料页核对网络模拟定位、Android 要求、包名、厂商与权限提示;本文按中性测试用途说明入口辨别和安装前检查。407 收藏