Go教程技术文章
-
Go bytes.CutPrefix 可以把可选协议前缀解析成 after 与 found 两个明确结果。本文用协议帧示例说明前缀命中、旧格式兼容、空字段校验和 bytes.Clone 的生命周期边界。283 收藏 -
netip.Addr 本身就是不可变且可比较的值类型。本文从字符串解析、IPv4-mapped IPv6 规范化、zone、零值和端口边界出发,给出把 IP 地址安全放入 Go map 的实现方式。283 收藏 -
讲清 govulncheck 如何把依赖模块中的已知漏洞分成实际可达调用与仅被依赖两类,并结合调用栈、构建标签、源码与二进制扫描边界,给出升级、移除调用和复扫的实用判断清单。283 收藏 -
Golang · Go教程 | 3天前 | html · 模板 · Go教程 · html/template · Go html/template HTML转义 模板安全 template.HTML 上下文自动转义
Go html/template 默认把数据当作普通文本,并按 HTML、属性、URL、JavaScript 等上下文自动转义。本文用三类输入对照 template.HTML 的信任边界,说明怎样保留可信标签而不把不可信字符串直接当成 HTML。281 收藏 -
Go go.mod 中的 go 行声明模块可接受的最低 Go 版本,toolchain 行声明开发时更倾向使用的工具链;GOTOOLCHAIN 决定是否自动切换。文章从实际协作场景出发,给出配置、排查和 CI 固定版本的方法。281 收藏 -
Go net/mail.Address.String 会把显示名按邮件地址语法重新格式化。本文解释可打印 ASCII 名称为何使用 quoted-string、非 ASCII 名称为何走 RFC 2047 编码,并给出生成和解析邮件头时的正确用法。280 收藏 -
Go sync.Pool适合复用可丢弃的临时对象,不适合保存配置、连接、租户或权限等长期状态。本文从可丢弃性、Reset清理、所有权和并发边界四个方面给出判断与实现方法。279 收藏 -
对比顺序 Concat、iter.Pull 与预收集三种连接方式,重点说明消费者提前停止时 yield(false) 如何传回数据源并触发资源释放。279 收藏 -
Go net/mail.ParseAddress 将单个邮件地址解析为显示名和邮箱字段。通过原创联系人示例比较手动切分与标准库解析,说明引号逗号、错误处理和格式化文本的区别。279 收藏 -
用 archive/zip.Reader.RegisterDecompressor 为指定 ZIP 压缩方法接入项目解压器,说明方法编号、Reader 级注册、条目读取和 Close 生命周期的边界。279 收藏 -
用afero MemMapFs为文件读取测试准备独立目录,示例讲清父目录创建、文件写入和实例注入,并区分正常内容、缺文件与真实磁盘测试的适用场景。278 收藏 -
Go ResponseController.SetWriteDeadline 可在单个 HTTP 处理器内控制响应写截止时间,适合流式响应和慢客户端保护。本文讲清最小写法、包装器兼容、错误处理及与其他超时的区别。277 收藏 -
本文用完整 Go 实例演示如何规范化切片与映射、生成无歧义字符串键,并借助 unique.Handle 为不可比较结构建立稳定身份。276 收藏 -
Go slices.Chunk 会把分组切片的容量裁到长度,但各组仍引用原底层数组。本文说明何时直接消费、何时 slices.Clone,以及指针元素和 Collect 的内存边界。276 收藏 -
围绕 Go time.Parse 与 time.ParseInLocation,说明带 Z、数值偏移和时区缩写的字符串如何选择布局,给出可复用的解析代码与排错清单。275 收藏