Go教程技术文章
-
用 slices.AppendSeq 将有限迭代器追加到已有切片,保留前缀并接回返回值。通过原创示例说明追加顺序、nil 与空序列、容量复用、共享别名和复制边界,以及大规模结果的收集取舍。473 收藏 -
Go encoding/xml 默认会丢弃无法映射到结构体的 XML 元素。本文用自定义 UnmarshalXML、Token 和 CopyToken 保存未知节点,并补上 MarshalXML 重新输出的完整做法与边界。473 收藏 -
Go gofpdf 输出中文 PDF 的关键不是给核心字体换个名字,而是准备覆盖中文的 UTF-8 TrueType 字体与 JSON 定义文件,设置字体目录后调用 AddUTF8Font 注册,再用 SetFont 输出。本文给出最小配置、文件边界和常见排查点。473 收藏 -
讲清 Go sync.Pool 复用可变对象时的 Get、Reset、使用与 Put 顺序,区分清空对象和清空池,说明容量、敏感字段、所有权与适用边界。473 收藏 -
Golang · Go教程 | 4天前 | 标准库 · 文件读取 · Go教程 · Go archive/zip bytes.Reader os.File io.ReaderAt zip.NewReader ZIP中央目录
Go 的 zip.NewReader 需要 io.ReaderAt 和整个 ZIP 的字节大小。本文解释 size 如何帮助定位文件末尾的中央目录,并分别给出 os.File、bytes.Reader 的正确写法,说明传读取长度、剩余长度和目录大小为什么会出错。473 收藏 -
Golang · Go教程 | 3星期前 | 标准库 · 错误处理 · 文件读取 · Go教程 · Go bufio bufio.Reader ErrBufferFull ReadSlice bytes.Join 文本扫描
bufio.Reader.ReadSlice 遇到没有及时出现的换行符时会返回 ErrBufferFull 和一段暂存切片。本文说明怎样先复制片段、继续读取,再用 bytes.Join 拼回完整一行,并区分 EOF 与真实错误。472 收藏 -
Go HTTP Server 用 ConnContext 保存连接编号与地址快照,handler 从请求上下文读取;结合完整示例说明私有键、连接复用与请求身份的边界。472 收藏 -
用 io.NopCloser 把 Reader 适配为 ReadCloser,解释空 Close 与真实资源清理的边界,并给出请求体和资源所有权示例。472 收藏 -
Go flag.FlagSet.VisitAll 会按参数名的字典序遍历所有已注册标志。本文用标准库示例生成稳定帮助清单,解释 VisitAll 与 Visit 的区别、默认值展示、宽度排版和自定义 Usage 的错误处理。472 收藏 -
Golang · Go教程 | 3星期前 | 性能优化 · 并发编程 · 同步 · Go教程 · Go add sync/atomic CompareAndSwap 并发计数器 atomic.Int64 Load
Go atomic.Int64 适合维护并发请求数、在途任务数等单值状态。本文从普通自增的竞态出发,说明 Add、Load、Store 和 CompareAndSwap 的使用边界,以及零值、复制和复合条件判断的注意事项。471 收藏 -
go tool pprof 的 -http 参数可以显式指定 Web 界面的 host:port。本文用实际调试场景区分 profile 数据源与界面监听地址,并说明 127.0.0.1、0.0.0.0、固定端口和随机端口的取舍。471 收藏 -
通过一个Go事件分类器区分go test -json的普通输出、框架文本与多行报错,保留包和测试归属,并说明CI应独立传递测试退出状态。470 收藏 -
Go slices.SortFunc 的多字段排序关键是让比较器按优先级、时间和名称逐层比较,并在每层不相等时立即返回。本文给出最小写法、降序字段处理、相等元素稳定性和比较器检查方法。469 收藏 -
Go 的 t.Run 会形成带斜杠的测试层级,使用 go test -run 配合顶层测试名和子测试名即可只执行指定场景;本文还说明未锚定正则、精确匹配和常见误区。469 收藏 -
Go 中使用 sha256.New224 计算 SHA-224 摘要时,核心是通过 hash.Hash 分段写入数据,再读取 28 字节结果。本文说明流式写法、文件输入、Sum224 的选择,以及摘要长度和十六进制输出的排查方法。469 收藏