Go教程技术文章
-
讲清 Go bufio.Scanner.Buffer 的初始缓冲区、最大 token 上限与错误处理,并给出 Scanner 和 bufio.Reader 的选型边界。120 收藏 -
用 Go archive/tar.Reader.Next 顺序遍历 tar 归档,区分 EOF、文件类型与读取边界,并给出受控提取的实现要点。337 收藏 -
Go 的 zip.OpenReader 负责打开磁盘上的 ZIP 归档,真正按成员名读取要调用返回值的 Reader.Open。本文给出完整函数,讲清斜杠相对路径、成员不存在、目录成员、读取上限、ErrInsecurePath 与关闭顺序。130 收藏 -
复用 Go hash.Hash 时,Sum 只读取当前摘要而不会清空状态,独立消息必须在 Write 前明确 Reset。本文用错误与正确示例解释状态边界、Sum 的追加语义、sync.Pool 的独占借用原则,并给出可复现的 benchmark 方法判断复用是否值得。408 收藏 -
介绍 Go tls.ConnectionState 的三种读取入口,解析 TLS 版本、密码套件、ALPN、叶子证书和验证链,并说明空字段边界。327 收藏 -
围绕 Go crypto/rand 生成安全令牌,说明随机预算、URL 安全编码、存储轮换边界与指标验证方法。145 收藏 -
用 Go archive/tar 的 Header.Typeflag 区分目录、普通文件、硬链接和符号链接,配合 Linkname、Size 与 WriteHeader 处理不同条目的数据边界。199 收藏 -
用 Go archive/tar 把文件元数据写入 Header,再以流式方式复制内容,覆盖归档路径、目录、符号链接、大小一致性和 Close 收尾等关键边界。366 收藏 -
讲清 Go 使用 klauspost/compress/zstd 解压连续多帧数据时的四层内存边界:压缩输入、窗口、并发缓冲和累计输出,并给出流式硬上限实现与边界测试清单。269 收藏 -
从虚拟根语义讲清 Go fs.Sub:如何隐藏底层目录前缀、正确校验 io/fs 路径,以及为什么 os.DirFS 加 fs.Sub 仍不能替代 os.Root 的符号链接越界防护。449 收藏 -
用 Go embed.FS 把静态目录编译进程序,掌握 //go:embed 的路径模式、包边界、隐藏文件规则,以及接入 HTTP 和模板解析时的目录约定。220 收藏 -
讲清 Go embed.FS 中 go:embed 匹配路径、fs.Sub 新根目录与 template.ParseFS 模式的对应关系,并给出避免重复目录和同名模板冲突的写法。140 收藏 -
用 Go build -overlay 和 Replace JSON 映射临时替换源码,掌握 go list、构建缓存、go run 与 go test 的适用边界。314 收藏 -
go work sync 会用 MVS 计算工作区构建列表,再把相关依赖版本同步回各模块的 go.mod。本文给出执行、审查、tidy 分工与 CI 独立验证方法。480 收藏 -
Go fmt.Errorf 的 %w 能同时保留上下文和底层错误身份,但也会把底层错误纳入接口契约。本文说明包装位置、包边界转换和日志去重策略。431 收藏