Go教程技术文章
-
Go pem.Decode 找不到下一个 PEM 块时会返回 nil,并把未找到块的整段输入原样放到 rest。本文说明这种设计如何作为终止信号,并给出连续读取多个 PEM 块时避免重复处理和死循环的写法。288 收藏 -
Go 的 JSON 联合字段可以先用 RawMessage 保留 payload,再按 type 选择具体结构体二次解析。本文给出分派结构、错误处理和适用边界。288 收藏 -
io.LimitedReader 在额度用完和底层输入结束时都可能返回 EOF,单看错误值无法判断是否超限。本文用 limit+1 探测解释如何区分恰好读满、未达到上限和仍有额外数据,并给出保留内容与纯探测两种写法。286 收藏 -
Go Colly 的 LimitRule 可以按域名控制同一站点的最大并发、固定间隔和随机间隔。本文结合 Async、Wait、DomainGlob 与多站点规则,说明怎样配置公开页面采集的节奏,并避开 Delay 与 Parallelism 同时设置时的语义误判。285 收藏 -
Go netip.Addr.UnmarshalText 可以把配置中的 IPv4、IPv6 文本解析成结构化地址。本文说明空文本、非法输入、IsValid 校验、IPv6 区域标识以及配置结构体接入方式。284 收藏 -
GOPRIVATE只声明私有模块范围,不提供仓库凭据。本文通过直连仓库和内部代理两套临时配置,说明代理、公共校验数据库与认证的独立边界,并归纳CI和缓存相关误区。284 收藏 -
Golang · Go教程 | 2天前 | 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 收藏 -
对比顺序 Concat、iter.Pull 与预收集三种连接方式,重点说明消费者提前停止时 yield(false) 如何传回数据源并触发资源释放。279 收藏 -
Go net/mail.ParseAddress 将单个邮件地址解析为显示名和邮箱字段。通过原创联系人示例比较手动切分与标准库解析,说明引号逗号、错误处理和格式化文本的区别。279 收藏 -
用 archive/zip.Reader.RegisterDecompressor 为指定 ZIP 压缩方法接入项目解压器,说明方法编号、Reader 级注册、条目读取和 Close 生命周期的边界。279 收藏 -
用afero MemMapFs为文件读取测试准备独立目录,示例讲清父目录创建、文件写入和实例注入,并区分正常内容、缺文件与真实磁盘测试的适用场景。278 收藏 -
Go slices.Chunk 会把分组切片的容量裁到长度,但各组仍引用原底层数组。本文说明何时直接消费、何时 slices.Clone,以及指针元素和 Collect 的内存边界。276 收藏 -
Go 的 URL.Path 是解码后的路径语义,EscapedPath() 面向转义表示;本文用 %2F 示例说明路由匹配、日志记录和请求拼接时该怎么选。275 收藏