Go教程技术文章
-
用 Go os.File.ReadAt 按偏移并发读取文件,讲清分片边界、并发限制、短读与 EOF 处理,以及它和 Read、Seek 的取舍。178 收藏 -
用 Go 的 io.SectionReader 从 ReaderAt 数据源中限制固定起点和长度,说明 Read、ReadAt、Seek、Size、Outer 的偏移口径、EOF 边界以及字节切片的常见坑。178 收藏 -
通过实现限速 Reader 接入 io.Copy,控制文件传输的读取节奏,同时保留 EOF、底层错误、关闭责任和取消边界。178 收藏 -
用 Go compress/flate 的 NewReaderDict 配合同一份预置字典解压 DEFLATE 数据,示范 io.Copy、Close、Reset 的写法,并按字典、输入流和读取边界排查失败原因。178 收藏 -
Go 标准库 uuid.UUID 本质是 16 字节数组。本文讲清 36 字节规范文本、32 字符兼容文本和 16 字节原始二进制的区别,并给出安全双向转换、格式选择与避坑代码。178 收藏 -
Go 的 crypto/sha512 同时提供 New512_256 和 New512。本文从算法身份、摘要长度、流式接口和协议迁移边界说明两者区别,并给出同一输入下的并排计算示例。178 收藏 -
Golang · Go教程 | 1个月前 | 错误处理 · go · 模板 · 后端开发 · Go Template html/template text/template 模板运行 missingkey
Go 模板渲染可选片段时,字段缺失不一定会立刻报错。本文用 text/template 的模板运行、Option("missingkey=error") 和显式分支拆开默认行为、严格校验与可选字段的边界,给出可直接运行的处理方式。177 收藏 -
用一个请求日志小项目说明 Go slog.Handler.WithAttrs 的正确用法:把稳定字段提前绑定到 Handler,再让每次 LogAttrs 只写变化字段,同时验证并发输出与字段快照边界。177 收藏 -
用 Go strings.CutPrefix 读取并移除字符串前缀,掌握 after、found 两个返回值,以及未匹配、空前缀、大小写和 Unicode 等边界。177 收藏 -
用 Go utf8.DecodeRune 扫描原始字节时,RuneError 只有配合 size==1 才能判断非法编码,并通过字节游标准确定位原始偏移。177 收藏 -
介绍 Go net/netip.ParseAddrPort 如何解析 IPv4、IPv6 和数字端口,说明 AddrPort 的字段读取、方括号规则、端口 0 与常见错误处理。177 收藏 -
用一个可复用的 zlib.ReadCloser 依次解压多个独立数据块,讲清 Reset、ReadAll、字典、错误处理和 Close 的边界。177 收藏 -
本文设计一个安全的 Go 反射字段赋值 API:从多层指针入口定位可设置结构体,按策略初始化 nil 中间节点,并以严格的类型兼容和稳定错误替代 reflect panic。177 收藏 -
Go container/list 的 MoveToFront 只会移动属于当前链表的 Element。传入另一个链表创建的节点时,当前链表不会修改;本文用最小示例拆解症状、官方契约和节点归属修复。177 收藏 -
用 Go runtime/trace 采集一次请求的短时执行轨迹,结合 task、region 和 go tool trace 观察 goroutine 调度、阻塞、系统调用与 GC 事件。176 收藏