Go教程技术文章
-
Go fs.Sub 把一个 fs.FS 映射为指定子目录的文件系统视图。本文用 os.DirFS 和嵌入式文件系统说明相对路径、嵌套 Sub、无效路径与不存在目录的边界,并提醒它不是 chroot 级安全隔离。202 收藏 -
Go gofpdf的MultiCell可按固定宽度自动折行。本文给出完整示例,说明每行高度、字体与边距的关系,以及绘制后坐标、中文字体和尾部换行的处理。202 收藏 -
讲清 Go html/template.JSEscapeString 的字符串级 JavaScript 转义边界,用最小示例对比 HTML、JavaScript 与 URL 语境,并说明何时应交给 html/template 自动处理,避免重复转义和不安全的可信类型。202 收藏 -
Go unique.Make 只接受 comparable 类型并返回 Handle,不会替业务规则返回 error。本文用空字符串、nil 指针和不可比较类型说明处理边界,再给出先校验、后规范化、按需保留句柄的工作流。202 收藏 -
解释 Go Readdirnames 正数分批读取中的 io.EOF,展示先消费名称再判断错误的完整代码,并区分非正数读取、业务错误与目录句柄关闭。202 收藏 -
Go 的 png.DecodeConfig 可以先读取 PNG 的颜色模型和宽高,再决定是否创建完整图像。本文说明尺寸准入、Reader 位置重置、内存 Reader 重放和两阶段错误处理。202 收藏 -
通过多来源配置示例讲解 cmp.Or 的零值回退规则,区分普通参数求值与惰性加载,说明 false、0、指针和输入校验的使用边界。202 收藏 -
用 Go testing/synctest.Test 建立隔离测试 bubble,配合 synctest.Wait 和虚拟时钟测试定时器、取消信号及后台 goroutine,并说明 httptest 场景中的网络边界与清理方式。202 收藏 -
用 filepath.Rel 的 error 判断两个目录能否建立词法相对路径,说明同路径、子目录、绝对相对混用、Windows 卷名差异以及目录存在性边界。201 收藏 -
Go 处理 Big5 繁体字节时,可以用 x/text/encoding/traditionalchinese.Big5 创建 Decoder 或 Encoder,再配合 Bytes、String、Reader 和 Writer 完成批量或流式转换。本文说明转换方向、错误边界与资源关闭方式。201 收藏 -
Go 中两个 uint32 相乘可能得到 64 位结果,直接用 uint32 相乘只会保留低 32 位。本文结合 math/bits.Mul32 说明 hi、lo 的含义、完整结果的重组方式,以及窄类型乘法最容易出现的误用。201 收藏 -
Go Gonum distuv 的重复抽样关键在于显式管理 math/rand.Source。本文说明 Normal 如何注入固定 seed、Categorical 如何通过构造函数接收 source、不同分布如何隔离随机序列,以及回放、并发和安全随机的边界。201 收藏 -
Go bytes.TrimSpace 会按 Unicode 空白规则去掉字节切片首尾的空白,并保留中间内容。本文说明最小写法、空结果、返回子切片的共享存储边界,以及与 bytes.Trim 等函数的选择。201 收藏 -
用 Go net.Resolver.LookupSRV 查询服务记录,拆解 Target、Port、Priority、Weight 的职责,并给出带超时、可直接交给 DialContext 的地址转换写法。201 收藏 -
Golang · Go教程 | 4小时前 | 标准库 · JSON · 性能 · Go教程 · 接口设计 · Go io.Writer jsontext encoding/json/v2 流式编码 MarshalWrite
Go 1.27 的 encoding/json/v2 提供 MarshalWrite,可以把值直接编码到 io.Writer;需要 token 级控制时再使用 jsontext.Encoder。本文围绕大对象输出、Writer 错误、内存边界和 API 选择给出原创示例。201 收藏