Go教程技术文章
-
Go multipart.Reader.NextPart 适合边读取边处理 multipart 请求体。本文说明如何解析 boundary、逐段区分普通字段和文件字段、正确处理 io.EOF,并用流式复制与文件名边界避免大文件一次性进入内存。372 收藏 -
Go strconv.AppendQuote 可以把字符串以带引号的转义形式追加到已有 []byte。本文从容量预算、Quote 对比、控制字符和无效 UTF-8 边界出发,给出低分配写法与 Benchmark 记录方法。372 收藏 -
Go strconv.AppendQuoteRuneToASCII 可以把单个 rune 追加为带单引号的 ASCII Go 字符字面量。本文说明如何接住返回切片、处理非 ASCII 转义,并区分它与 QuoteRune、AppendQuoteRune 等相邻 API。372 收藏 -
Go crypto/x509 CertPool.AddCertWithConstraint 可以把自定义约束绑定到某个根证书。本文用租户域名场景说明如何读取 Verify 传入的整条证书链、拒绝不符合范围的链,并处理回调并发与验证边界。371 收藏 -
本文说明 Go http.Request.BasicAuth 的三个返回值,演示如何区分认证头解析成功与账号校验通过,并整理 401、HTTPS、WWW-Authenticate 和日志脱敏边界。371 收藏 -
Go netip.Prefix.IsValid 同时判断地址是否已初始化、前缀位数是否符合 IPv4 或 IPv6 范围。本文用一个小工具区分零 Prefix、0.0.0.0/0、非法位数和有效但未掩码的前缀。371 收藏 -
Go encoding/json/v2 默认把 nil map 编码为空 JSON 对象。本文说明怎样用 FormatNilMapAsNull 恢复 null 语义,并给出字段级覆盖与迁移回归清单。369 收藏 -
本文用 embed.FS 和 fs.Glob 演示如何按层级模式查找嵌入文件,说明路径根、通配符、无匹配结果、错误模式与 fs.ReadFile 的衔接,并补充 fs.Sub 缩短匹配根的写法。369 收藏 -
Go slices.Replace 可以把切片的半开区间替换成任意数量的新元素。本文用权限列表和批处理记录说明变长替换、空替换、索引边界、底层数组复用与结果判断,帮助你写出可复查的切片更新代码。368 收藏 -
Go regexp 的 LiteralPrefix 会返回任何匹配必须以其开头的字面量前缀,以及该前缀是否已经覆盖整个正则。本文用几个模式说明如何读取这两个返回值、做候选预筛选,并避开把前缀误当成完整匹配的常见误区。367 收藏 -
Go x/text/secure/precis OpaqueString 可以在保留大小写的前提下准备国际化口令文本。本文说明 String 的使用、NFC 规范化、空结果处理,以及准备后再哈希的落地顺序。367 收藏 -
sort.Find 适合在有序数据中同时处理匹配与未命中场景。本文用目标值与切片元素的三态比较说明如何定位相等元素的起点,解释 found、插入位置、重复值和比较方向的边界。365 收藏 -
sync.Pool 只能复用临时对象,不能替请求保存状态。通过明确 Get、使用、Put 的所有权边界,在归还前清空请求标识、错误和缓冲引用,并用指标区分池命中与状态泄漏。365 收藏 -
使用 github.com/google/uuid 时,无效 UUID 要看 Parse 返回的 error,零值 UUID 要与 uuid.Nil 比较。本文按解析、格式和业务边界说明三种结果如何区分。365 收藏 -
Go encoding/csv 的 Reader.FieldPos 可以把最近一次 Read 返回的字段映射回原始 CSV 的行列位置。本文用多行引号字段说明调用时机、1-based 坐标、字节列号和常见误区。364 收藏