Go教程技术文章
-
讲清 Go fs.WalkDir 跳过指定子目录的正确写法:仅在目录节点返回 fs.SkipDir,并区分按名称与按相对路径排除,同时处理错误、根目录和非目录边界。290 收藏 -
Go 的 io.Pipe 可把只会写入的生产者连接到只会读取的消费者。本文用完整示例说明同步背压、关闭顺序、错误传播以及避免 goroutine 阻塞的方法。218 收藏 -
Go 的 io.MultiWriter 会把同一批字节按传入顺序写入多个 io.Writer,某个目标出错后立即停止。本文用文件和内存缓冲区示例说明用法、错误边界与并发注意事项。158 收藏 -
Go io.NewOffsetWriter 把相对偏移映射到底层 WriterAt 的 base+off,适合文件分区、文件头和分段写入。本文讲清 Write、WriteAt、Seek、io.CopyN 及上限保护。175 收藏 -
用 Go 标准库 suffixarray.Index.Lookup 查找重复字节片段,讲清 n 参数、无序偏移、字节下标和空结果边界,并给出可直接改造的示例。299 收藏 -
Go 读取 JPEG 宽高无需先解码像素:jpeg.DecodeConfig 会返回 ColorModel、Width 和 Height。本文用一次故障复盘讲清 Reader 消费、像素门禁与二次解码边界。408 收藏 -
Go 读取动态 GIF 应使用 gif.DecodeAll;返回值的 Image 与 Delay 按下标对应,Delay 单位是百分之一秒,换算时乘 10 毫秒。322 收藏 -
用 Go 的 image/draw.DrawMask 把源图按 Alpha 蒙版叠加到目标图,掌握坐标对齐、draw.Over 与常见偏移排查方法。338 收藏 -
Go 页面共享布局时,先解析公共模板,再在首次执行前 Clone;每个副本解析自己的同名 content 定义,最后缓存并执行 layout,即可隔离首页、后台等页面变体。361 收藏 -
Golang · Go教程 | 2星期前 | 标准库 · 模板 · web安全 · Go教程 · Go html/template 用户输入 HTML转义 html.EscapeString 上下文转义
Go 中将用户文本安全显示到 HTML 页面,可在明确的文本节点场景使用 html.EscapeString;页面模板更适合交给 html/template 按上下文自动转义。本文用最小留言页讲清实现、验收与边界。299 收藏 -
Go 计算大文件 CRC-32 不必先读完整文件。crc32.New 返回可持续写入的 hash.Hash32,配合 io.Copy 即可流式处理;需要进度控制时也能复用缓冲区手动分块。501 收藏 -
用 go/types.Eval 查询源码位置处表达式的类型和值,讲清 FileSet、Package、Pos 的配合方式、TypeAndValue 读取方法与 Check 的边界。480 收藏 -
讲清 Go token.FileSet.PositionFor 如何把 token.Pos 转成文件名、字节偏移、行号和列号,并比较 adjusted 参数与 //line 指令的实际影响。466 收藏 -
用 go/scanner 扫描 Go 源码时,ErrorCount 需要在完整 Scan 到 EOF 后读取;配合 ErrorHandler 可同时拿到错误位置和消息,不能只数 token.ILLEGAL。355 收藏 -
printer.Config 的 Indent 控制基础缩进层级,Tabwidth 和 Mode 决定制表宽度及空格策略。本文用完整 AST 示例讲清组合方式与 gofmt 边界。447 收藏