-
Go x/text/secure/bidirule 的 New 返回一个实现 transform.Transformer 的双向规则校验器。本文从字符串调用、分块 Transform、ErrInvalid 与 Reset 复用四个方面说明如何正确接入。
-
Peek用于只看不消费,UnreadByte用于退还最近读取的一个字节,二者不能机械配对。通过固定前缀识别与ASCII数字字段示例,说明共享Reader、借用切片、分隔符归属、短读与超长输入的处理边界。
-
Go time.Time.AppendBinary 可以把时间追加到已有 []byte,并返回可交给 UnmarshalBinary 的二进制表示。本文说明追加缓冲区、时区偏移、错误处理和版本边界。
-
Go x/text/unicode/bidi 的 Ordering 用于保存段落的视觉顺序。本文从 Paragraph.Order 出发,演示怎样遍历 NumRuns 和 Run(i),读取每段方向、原始位置与文本,并说明行级排序、UTF-8 字节位置和重新设置段落后的失效边界。
-
Go crypto/x509 解析证书后,可从 Certificate.Extensions 按 OID 查找自定义扩展,再用 encoding/asn1 解码 pkix.Extension.Value。本文区分 Extensions 与 ExtraExtensions,说明 DER 边界、关键扩展和常见找不到原因。
-
Go math/big 的 big.Int.SetString 能按 base=0 自动识别常见前缀,也能按 2 到 62 的显式进制解析大整数文本。本文说明前缀、下划线、大小写和失败返回值的边界,并给出可复用的选择流程。
-
Go 1.27 将标准库 Unicode 数据升级到 17.0.0。本文用 unicode.Version、分类表和 UTF-8 校验搭出兼容处理方案,并说明旧工具链、字体与终端显示之间的边界。
-
Go net/http 使用 http.Client.Timeout 设置客户端请求总超时,本文用一个可复用的小项目说明总预算、请求级 context、Transport 分阶段超时和超时错误识别。
-
Go 反射中的 CanConvert 用来判断 Value.Convert 是否会因转换规则触发 panic。本文从 Go 1.17 的迁移场景出发,说明基础类型、命名类型、切片转数组的长度边界,以及为什么可转换不等于数值无损。
-
Go net.JoinHostPort 用于把主机和端口拼成网络地址。本文说明它为什么会给 IPv6 主机自动加方括号,并覆盖域名、IPv4、空主机、zone 标识和 SplitHostPort 配合时的实用边界。
-
Go crypto/x509 CertPool 可以把 PEM 格式的自定义根证书接入 TLS 客户端或证书链验证。本文区分空池与系统池、讲清 AppendCertsFromPEM 的返回值,并给出 RootCAs 与 VerifyOptions.Roots 的配置边界。
-
说明Go http.Protocols的三类协议开关,用独立服务端和客户端示例配置HTTP/1与TLS HTTP/2,并解释明文HTTP/2及代理连接边界。
-
Go slices.Chunk 会把切片按最多 n 个元素分成连续子切片,最后一组不足 n 个时会原样保留,不会补零或丢弃。本文说明尾组、空输入、非法 n 与子切片容量的处理边界。
-
Go io.SectionReader.Outer 可以取回创建读取窗口时的底层 ReaderAt、起始偏移和长度。本文结合 Read、ReadAt、Seek 与 Size 说明它的职责边界和版本兼容取舍。
-
Go unicode.SimpleFold 每次返回 Unicode simple case folding 等价链中的下一个 rune。本文用可终止的回环遍历收集等价字符,并比较它与 ToLower、ToUpper 及 UTF-8 校验的适用边界。