Go语言技术文章
-
Go x509.OID.String 可以把 ASN.1 对象标识符输出为点分十进制文本。本文说明 OIDFromInts 与 String 的配合、空 OID 的日志边界,以及 String、MarshalText、ParseOID 在展示和文本交换场景中的区别。300 收藏 -
Golang · Go教程 | 3天前 | 字符串处理 · Go教程 · Go strings.TrimSpace net/textproto textproto.TrimString ASCII空白
说明 Go textproto.TrimString 只裁剪首尾 ASCII 空白的边界,并对比 strings.TrimSpace,帮助协议字段选择正确的清理函数。383 收藏 -
Go base64.NewEncoder 会暂存不足一个完整分组的输入,必须在读取结果或交给下游前调用 Close 刷新尾部数据;本文用 bytes.Buffer 和 Writer 示例说明 Close、Write 及错误处理边界。146 收藏 -
用 Go textproto.MIMEHeader.Del 按规范化键名删除请求头字段及其全部值,并区分 Del、Get、Values 与直接 map 访问的边界。441 收藏 -
Go 在已有前缀后追加 ZIP 数据时,需要在条目写入前用 Writer.SetOffset 设置 ZIP 起点,并检查 Close 写出的中央目录。本文给出完整容器写入、NewReader 重新读取和调用顺序示例。123 收藏 -
用 Go encoding/hex.EncodedLen 计算十六进制输出的精确长度,配合 Encode 复用目标切片,并比较 AppendEncode 与流式编码在不同缓冲区场景下的选择。337 收藏 -
Go 的 Base64 解码器会忽略 MIME 输入中的 CR/LF。本文比较 DecodeString、Decode 与 NewDecoder 的适用场景,并说明如何区分换行、非法字符、截断和部分结果。370 收藏 -
围绕 Go encoding/base64 的 Strict() 说明尾部无效位为何被拒绝,区分字母表、填充与严格校验,并给出标准、URL 安全和无填充输入的选择方法。280 收藏 -
围绕 Go base32.AppendDecode 说明无填充输入的长度余数、NoPadding 选择、部分结果与 CorruptInputError 的处理,并给出缓冲区复用和分段输入的排障方案。360 收藏 -
说明 Go base64.AppendDecode 部分结果与错误并存时,怎样区分新增区、恢复原长度、记录输入位置,并选择完整输入重试或流式接口。364 收藏 -
Go encoding/base32 的 NoPadding 会去掉 RFC 4648 的等号。本文按跨系统交接场景说明如何判断无填充长度、恢复等号、选择解码器,并把兼容逻辑放在协议边界。336 收藏 -
Go 的 base32.StdEncoding 使用标准 Base32 字母表,base32.HexEncoding 使用 Extended Hex Alphabet。本文比较两者的字符集、互操作关系和 padding 选择,给出生产方与消费方的固定方式。180 收藏 -
Go go/doc.New 不负责解析源码,它接收 go/ast.Package 并整理包注释、导入路径和声明文档。本文用 NewFromFiles 组装 AST,说明 ParseComments、测试文件、Mode 与 AST 所有权边界。193 收藏 -
Go ascii85.NewEncoder 没有单独的 Flush 方法,Close 才负责写出内部暂存的尾部不完整块。本文说明 4 字节分块、Write 与 Close 的边界、错误处理和生产导出排障方式。321 收藏 -
讲清 Go ast.Inspect 回调返回 true、false 和收到 nil 时的实际语义,用原创示例实现子树裁剪并安全维护遍历状态。255 收藏