Go教程技术文章
-
用 base64.Encoding.Strict 对比普通解码,验证末尾填充位、CorruptInputError 和 DecodeString 的错误边界,给出可复现的 Go 示例。252 收藏 -
Go regexp 支持命名捕获组,适合解析带可选字段的日志和配置文本。本文用 SubexpNames、SubexpIndex 和 FindStringSubmatch 区分整体不匹配、可选字段缺失与业务默认值。252 收藏 -
Go 嵌入资源读取失败时,不要先手写 ReadFileFS。本文按接口分派、embed.FS 路径、fs.ValidPath、PathError 和自定义实现契约逐层排查。252 收藏 -
Go 1.24 新增 os.Root,用于把文件操作限制在指定目录内。本文从不可信压缩包和上传文件的落盘链路出发,说明 os.OpenRoot、Root.Create 的用法、适用边界和迁移检查点。251 收藏 -
Go 1.27 新增标准库 uuid 包。本文用 NewV7、Parse、Compare 和 String 拆开时间排序、格式兼容、非法输入与零值边界,给出可运行的请求标识示例。251 收藏 -
Go 1.23 的 maps.Keys 返回 iter.Seq,遍历顺序仍不保证稳定。本文从 for range 与 maps.Keys 的关系出发,演示如何用 slices.Sorted 得到可复现的键序列,并说明排序成本与兼容边界。251 收藏 -
讲清 Go compress/gzip.Header.Name 的设置时机、Writer.Close 和 Reader.Name 的读取方式,并区分 gzip 内部文件名与磁盘路径、下载文件名。251 收藏 -
bytes.Reader 的 Len 返回当前未读字节数,Size 返回底层字节切片的原始长度。本文用 Read、ReadAt、Seek 和 Reset 对比两者的变化,帮助你在读取循环和原始载荷统计中选对 API。251 收藏 -
围绕 Go testing.T.TempDir 讲清并行子测试的目录隔离、父测试共享只读夹具、自动清理和 GOTMPDIR 排查边界。251 收藏 -
Golang · Go教程 | 2个月前 | HTTP · 文件下载 · Go教程 · 断点续传 Content-Range Go教程 HTTP Range ServeContent 206 Partial Content 视频拖动
用 Go 的 http.ServeContent 实现支持 Range 的文件响应,覆盖 206 片段返回、416 越界、Accept-Ranges、浏览器拖动和普通 200 兜底。250 收藏 -
配置文件写入成功并不等于断电后一定保留。本文用 Go 的临时文件、os.File.Sync、os.Rename 和目录同步串起安全替换流程,解释每一步解决什么问题,以及如何用重启和故障注入思路核对结果。250 收藏 -
用 Go 检查外部命令启动时会继承哪些环境变量,演示 Cmd.Environ、Cmd.Env 与 LookPath 如何配合,让本地和生产环境的启动条件更容易复现。250 收藏 -
用 Go 的 net/netip 解析 CIDR 配置并校验客户端地址,重点看 Prefix.Contains 的地址族边界、ParsePrefix 错误处理与 PrefixFrom 的掩码差异。250 收藏 -
自定义集合不必暴露内部切片或 map,也能直接支持 for range。做法是让 All 方法返回 iter.Seq[T],在闭包里调用 yield,并把 false 当作停止信号。本文用一个泛型集合说明接口形状、提前 break 和重复遍历的边界。250 收藏 -
讲清 Go slices.SortStableFunc 按团队、优先级等多个字段排序时的稳定比较器写法,说明比较结果、降序参数、等价元素和常见溢出误区。250 收藏