Go教程技术文章
-
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 按指定时区查询某一天,需要用 time.Date 构造当天与次日的日期边界。本文结合日期筛选输入、完整 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 收藏 -
Go slog.Logger.Enabled 可以在日志级别判断阶段提前返回,避免为不会输出的日志构造昂贵参数。本文用最小示例说明 HandlerOptions.Level、Enabled、LogAttrs 与 LogValuer 的配合边界。105 收藏 -
解释 synctest 的任务归属、channel 与 timer 关联边界,给出自包含通知测试,说明 Wait 的观察范围及启动、取消、退出应如何放进同一气泡。105 收藏 -
用 Go 1.24 的 os.OpenRoot 建立插件目录边界,通过 Root 方法和 Root.FS 读取相对文件,处理路径遍历、符号链接、资源关闭及挂载点等实际限制。104 收藏 -
用 bufio.Reader 按换行分块读取大文件,解释 ReadString、ReadBytes、ReadLine 的边界,处理跨缓冲区换行、末尾无换行和超长行。104 收藏 -
Go width.Fold 可将文本映射到规范宽度,但不等于全部转半角。本文给出字符串处理函数,比较 Fold、Narrow、Widen,并说明原文保留、查询一致和迁移冲突。104 收藏 -
Go bytes.Clone 适合在多个处理阶段需要独立修改 []byte 时隔离底层数组别名。本文从切片共享、nil 与空切片、长度容量以及浅层复制边界出发,给出可直接复用的工程写法。104 收藏 -
Go strconv.ParseInt 通过 base 指定进制、通过 bitSize 约束目标宽度,并返回 int64 与 error。本文说明固定进制和 base=0 自动识别的差异,拆解符号、前缀、非法数字、位宽溢出和 NumError 的处理边界。104 收藏 -
下游接口少量请求只是变慢而没有失败时,可以用 Go 的 net/http 与 context 为幂等读取请求增加受控副本:设置对冲延迟、共享总截止时间,首个成功后取消其余副本,同时限制额外流量。103 收藏 -
使用 afero.NewReadOnlyFs 把可写的 afero.Fs 包装成只读视图,明确读取、Stat、已存在目录与创建删除重命名等修改操作的边界,并给出可回滚的注入方式。103 收藏