Go问答技术文章
-
Go 分块 NFC 不能把任意片段独立正规化后拼接。本文比较整体、流式与追加接口,说明组合字符接缝、Writer 收尾及安全边界的选择方法。435 收藏 -
sync.OnceValue 不只缓存成功返回值:初始化函数一旦 panic,后续调用也会复现同一个 panic。本文结合标准库实现解释 once、valid、recover 与结果缓存的关系,并说明何时应该改用可重试方案。435 收藏 -
本文用一个只依赖标准库的 Go 小工具说明 pem.Block.Headers 如何写入自定义头字段,解释 pem.Encode 的稳定输出、错误处理、Decode 回读与测试夹具设计。434 收藏 -
解释 Go io.MultiWriter 按顺序写入多个 Writer 的行为,区分错误、短写入和部分结果,并给出失败后的重试与补偿判断方法。434 收藏 -
Go ECDSA Sign 摘要长度报错通常源于原始字节与文本编码混用,或哈希选项不匹配。本文比较三个签名入口,给出 SHA-256 签名验签示例及参数排错表。434 收藏 -
解释 go-pretty Pager 的 PageSize 与实际数据行数、渲染行数和页数的区别,给出展示分页与业务分页的选择方法。434 收藏 -
Go http.Transport 的 WriteBufferSize 控制 Transport 写入网络连接时使用的缓冲区。本文说明零值默认行为、共享 Transport 的配置方式、按连接评估内存代价,以及哪些问题不该靠调大写缓冲解决。434 收藏 -
Go 的 multipart.Part.FileName 从 Content-Disposition 的 filename 参数读取文件名,并在返回前通过 filepath.Base 去掉目录信息。本文用逐部件解析示例说明读取方式、解析失败边界和上传落盘时的安全命名策略。434 收藏 -
Go 的 http.ParseSetCookie 并不是遇到任何非法属性都返回 error。本文按首段 cookie、属性解析和 Cookie.Unparsed 三层拆开排查,给出可记录原始异常属性的诊断写法。433 收藏 -
Go tar 解包时不要直接把 Header.Name 拼到目标目录。本文用 filepath.IsLocal 拒绝绝对路径和父目录,说明 ErrInsecurePath、filepath.Join、目录项以及 Linkname 的边界,并给出可复用的安全解包骨架。432 收藏 -
Go 配置中的 500ms、2s 和 1m30s 不能按普通整数读取。本文用 time.ParseDuration 拆开格式边界、错误处理、负数与溢出问题,并给出启动阶段集中校验的写法。432 收藏 -
Go base64.Encoding.AppendDecode 会把解码结果追加到目标切片,输入非法时仍可能返回部分数据和错误。本文用前缀切片、CorruptInputError 与增量输入边界说明如何安全处理。432 收藏 -
Go 的 debug/elf.File.Section 用节区名称查找 ELF 中的单个 Section,找不到时返回 nil。本文从打开文件、按名称定位、读取元数据与内容几个环节说明 Data 和 Open 的区别,并补充 SHT_NOBITS 与压缩节区的边界。432 收藏 -
Go WaitGroup 出现 negative WaitGroup counter 通常是 Done 重复调用、Add 与 Wait 时序错误或批次复用不当。本文用最小示例、排查清单和安全写法定位计数失衡。432 收藏 -
Go io.MultiReader 只有在当前 Reader 返回精确的 EOF 时才会切换到下一个输入;遇到非 EOF 错误会先把错误返回给调用方,不会自动跳过当前 Reader。本文用连续 Read 示例说明 n、err 和 Reader 切换之间的关系。431 收藏