-
Go typeutil.Map 适合把 go/types 产出的 types.Type 作为键,并按类型等价关系保存任意值。本文从类型检查结果取出类型对象,演示 Set、At、Iterate 的用法,说明普通 map、字符串键、并发读写和 Hasher 的边界。
-
Go x/image/font/sfnt 的 GlyphIndex 用于把 rune 映射到字体中的字形索引。本文从缺字症状出发,说明字体解析、Buffer 复用、返回 0 的含义,以及如何继续读取字形名称、边界和轮廓。
-
Go packages.Load 可加载显式 Go 文件集合,也可用 file= 查询所属包。本文说明两者的范围差异,给出文件列表封装,并解释 Mode、路径处理和两层错误。
-
Go x/text/encoding/charmap 的 EncodeRune 接收一个 rune,返回目标单字节编码中的 byte 和一个 bool。本文说明如何用 ok 判断字符能否编码,如何定位整段文本中的不可表示字符,以及何时改用 NewEncoder 或 UTF-8。
-
使用 golang.org/x/text/encoding/japanese 的 ISO2022JP 解码器读取带转义状态的日文字节流,覆盖一次性转换、流式读取、截断边界与重新编码。
-
Go 使用 golang.org/x/text/currency 的 Kind.Rounding 查询货币显示规则,理解 scale 与 increment 两个返回值,并据此区分标准、现金和会计场景的调用策略。
-
Go 处理土耳其语大写时,不要把语言规则简化为 ASCII 替换。使用 x/text/cases 的 Upper(language.Turkish),即可按土耳其语处理点号 I 和无点 I;本文同时说明 String、Bytes、流式转换和 Caser 并发边界。
-
Go collate.Numeric 可让名称中的连续数字按数值排序。本文给出记录排序代码,说明语言选项、相等项处理及分页范围,并区分自然数字排序与金额、版本号解析。
-
Go debug/dwarf.Reader 按 DWARF 树的前序顺序返回条目,遇到 Children=true 的父条目后可以调用 SkipChildren 跳过整棵子树。本文用 ELF/DWARF 读取示例说明调用位置、Tag=0 边界、常见误区和不可信输入限制。
-
介绍 Go opentype.ParseCollection 读取 TTC、OTC 及单字体文件的方法,说明字体索引选择、错误处理与底层数据寿命,并区分字体解析和绘制配置。
-
Go x/image/riff 用 NewReader 建立顶层 RIFF 读取器,再用 Reader.Next 逐块读取;遇到 LIST 时通过 NewListReader 递归打开子容器。本文说明 io.EOF、chunkData 生命周期、长度上限和错误处理的实际取舍。
-
Go x/text/width 的 LookupRune 接收一个 rune 并返回 Properties。本文用一个字符检查器演示如何读取 Kind、Wide、Narrow 与 Folded,并说明它与终端显示列宽的区别。
-
Go x/text/unicode/norm.Iter 会把输入按目标 Unicode Form 规范化,并按可独立处理的边界返回片段。本文用 Go 示例说明 InitString、Done、Next、Pos 和 Seek 的配合,以及组合字符和字节偏移的注意事项。
-
Go x/text/unicode/bidi 的 Ordering 用于保存段落的视觉顺序。本文从 Paragraph.Order 出发,演示怎样遍历 NumRuns 和 Run(i),读取每段方向、原始位置与文本,并说明行级排序、UTF-8 字节位置和重新设置段落后的失效边界。
-
Go transform.Append 可将转换内容追加到已有字节缓冲区。本文说明 result、n、err 的含义,给出保留前缀的实现,并解释容量复用、状态重置和部分输出边界。