Go问答技术文章
-
围绕 Go crypto/x509 的证书链验证,区分叶子证书、中间证书和信任根,说明 SystemCertPool、NewCertPool、VerifyOptions 以及常见错误的排查顺序。222 收藏 -
Go encoding/base64 的 DecodeString、Decode、AppendDecode 会忽略 CR 和 LF,但不会因此放行所有空白。本文梳理换行兼容边界、Strict 的真实作用,以及严格输入的处理方案。471 收藏 -
Go encoding/base64 的 NewEncoder 会把不足一个完整分组的尾部数据暂存在内部,必须调用 Close 才能刷新到目标 Writer。本文用最小代码说明正确关闭顺序、StdEncoding 与 RawStdEncoding 的 padding 边界,以及 io.Copy、文件资源和错误处理的组合方式。114 收藏 -
Go encoding/base64 中,StdEncoding 保留 RFC 4648 的等号填充,RawStdEncoding 关闭填充。本文用同一份输入对比两种输出,并说明解码匹配、URL 字符集与 WithPadding 的选择边界。357 收藏 -
用 Go encoding/xml 的 ,attr 标签把 XML 属性映射到结构体,说明指针空值、any,attr 扩展属性、嵌套节点和 Marshal 双向验收边界。147 收藏 -
围绕 Go encoding/xml 的 Decoder.Strict,说明如何隔离宽松解析、配置 AutoClose 与 Entity,并在容错后继续校验 XML 结构和业务字段。106 收藏 -
围绕 Go encoding/xml.Decoder.Token 讲清混合内容的事件读取、元素栈、文本拼接与错误边界,给出可直接改造的流式解析示例。376 收藏 -
讲清 Go encoding/gob 新增结构体字段时的兼容规则,给出默认值处理、双向读写测试和字段改名、类型变化等迁移边界。110 收藏 -
围绕 Go encoding/gob 长连接复用场景,说明连接级 Encoder 与 Decoder 的正确用法、并发写入限制、错误恢复和必须重新创建编解码器的边界。371 收藏 -
讲清 Go encoding/gob 接口字段为什么要注册具体实现类型,并用收发示例说明值、指针、注册名和解码边界。181 收藏 -
用一个小型 CSV 检查工具,把 Go encoding/csv 的 ParseError 行列、InputOffset 字节边界和原始行片段组合起来,快速定位坏记录。398 收藏 -
Golang · Go问答 | 1天前 | csv · Go问答 · 错误排查 · 数据导入 · FieldsPerRecord LazyQuotes ParseError Go encoding/csv CSV引号错误
围绕 Go encoding/csv.Reader 的 LazyQuotes 参数,对比严格解析和引号容错的边界,说明 ParseError、FieldsPerRecord、部分记录与行列坐标如何组成可追踪的 CSV 导入策略。146 收藏 -
讲清 Go encoding/csv 的 FieldsPerRecord 三种模式,说明 ErrFieldCount 返回 record 的处理方式,并给出固定模板、首行推断和变宽 CSV 的错误分流方案。291 收藏 -
Go 使用 archive/tar 解包时,先把 Header.Name 归一化为目标目录内的相对路径,再用 filepath.Rel 判断边界,并分别处理目录、普通文件和符号链接。115 收藏 -
Go archive/tar 不应通过文件名后缀判断 Tar 链接。读取 Header.Typeflag 区分 TypeLink 与 TypeSymlink,再从 Header.Linkname 记录目标;链接条目没有可供 Reader.Read 消费的正文。459 收藏