Go语言技术文章
-
本文用 Go 标准库说明 Server.ConnContext 与 Request.Context 的关系,给出连接级信息注入、处理器读取、连接复用和请求取消的最小写法与边界。106 收藏 -
Go 1.23 的 iter.Seq 可以直接用于 range 函数。本文从 yield 的返回值出发,说明 break 怎样提前停止消费、迭代器怎样响应 false,以及自然结束、单次迭代和错误边界。106 收藏 -
Go x/text/message 在缺少翻译时会格式化原文或备用文案。本文用独立目录示例说明 message.Key、目录绑定和语言选择,并比较原文键与稳定消息标识的维护方式。106 收藏 -
Go os.Root.ReadFile 适合在已打开的根目录边界内读取配置、模板和小型元数据。本文说明相对路径语义、ErrNotExist 与越界错误的区分、Root 生命周期,以及何时改用 Root.Open 进行流式读取。106 收藏 -
Go template.Template 得到空结果时,先分清空根模板、执行了错误的命名模板、空管道和缺失 map 键。本文用 DefinedTemplates、Lookup、ExecuteTemplate 与 missingkey 给出可复现的排查路径。106 收藏 -
Go HTTP Trailer为空时,应检查服务端声明时机、客户端读取位置及正文是否正常到达EOF。本文用完整示例说明Response.Trailer、错误传播、资源关闭和代理链路边界。106 收藏 -
Go text/template 自定义函数时,关键是先用 Funcs 注册,再让函数返回值或值加 error。本文用一个带业务校验的示例说明 Parse、Execute、errors.As 和部分输出边界。105 收藏 -
用 Go 的 signal.NotifyContext 把中断和终止信号接到根 context,统一驱动服务退出;本文说明 ctx.Done、defer stop、context.Cause 以及 SIGTERM、os.Kill 的边界。105 收藏 -
Go big.Rat 从字符串解析并保留精确计算值,用 RatString 无损保存、SetString 恢复;本文给出完整示例,说明格式限制、显示舍入与对象副本边界。105 收藏 -
使用 Go 1.25 的 sync.WaitGroup.Go 启动并发任务时,怎样让每个闭包拿到独立参数?本文从局部副本、函数参数、值对象和指针风险说明安全写法。105 收藏 -
Go 按指定时区查询某一天,需要用 time.Date 构造当天与次日的日期边界。本文结合日期筛选输入、完整 Go 示例和左闭右开判断,说明时区显示、夏令时、无效日期与重复午夜的适用限制。105 收藏 -
Go 中公开的 API 是 runtime/debug.SetMemoryLimit,它提供的是软内存限制,并不会把容器 RSS 变成硬上限。本文区分 Go 运行时统计、cgroup 硬限制和外部内存,说明进程仍超限时该如何排查与调整。105 收藏 -
multipart 上传里的 filename 是客户端元数据。本文说明 Go 解析器会做哪些路径处理,以及怎样把展示名、服务端存储名、大小限制和覆盖保护分开设计。105 收藏 -
Go regexp.FindReaderIndex 接收 io.RuneReader,返回首个匹配在输入中的字节起止下标。本文说明如何处理 nil、UTF-8 字节范围、Reader 的超前读取,以及它与 FindIndex、MatchReader 的选择边界。105 收藏 -
Go net/http Request.Clone 会复制 URL、Header、Trailer、表单等请求字段并替换 context,但 Request.Body 仍是浅复制。本文用客户端请求示例说明 Clone、WithContext、Body 和 GetBody 的边界,避免复制请求时误读或重复消费请求体。105 收藏