Go教程技术文章
-
Go 的 html/template 和 text/template 接口相近,但安全边界完全不同。本文从普通字符串、HTML 上下文、纯文本输出和 template.HTML 安全类型四个角度说明选择方法,并给出迁移与测试检查清单。427 收藏 -
Go time.Duration.Abs 遇到 math.MinInt64 时会返回 math.MaxInt64。本文解释 int64 纳秒范围、唯一不对称边界,以及超时和重试场景下的业务上限检查方法。427 收藏 -
Go crypto/tls 中,MinVersion 和 MaxVersion 控制协议版本,CipherSuites 只影响 TLS 1.0–1.2。本文给出兼顾 TLS 1.2、TLS 1.3 与旧客户端的配置方法、选型表和排错边界。427 收藏 -
用 Go benchmark 公平比较字符串拼接实现,掌握 ReportAllocs、AllocsPerRun、B/op、allocs/op 与 b.Loop 的使用边界。426 收藏 -
用 goroutine 与 goroutineleak profile 对照数量趋势和阻塞栈,区分 Go 中正常长期存活的 worker 与真正无法唤醒的 goroutine 泄漏,并给出修复后的复测方法。426 收藏 -
encoding/csv 遇到非标准引号时可以用 LazyQuotes 放宽读取,但应同时固定字段数、记录解析错误并保留抽样检查,避免把脏数据直接变成静默错列。425 收藏 -
解释 Go math/big.Float.Text 的 format 与 prec 如何共同决定输出形态,比较 e、f、g、x、b、p 的参数语义,并给出固定数值的可读示例与边界判断。424 收藏 -
讲解 Go encoding/xml.Decoder.Token 如何流式扫描大型 XML,结合 DecodeElement、Skip、InputPos 与命名空间处理逐条读取记录。424 收藏 -
Go 标准库 maps.Clone 可以复制 map 的顶层键值结构,并保留 nil 输入的语义。本文用最小示例说明普通复制、nil 与空 map、浅复制边界、自定义 map 类型和旧环境替代写法。423 收藏 -
用互斥的 go:build 约束隔离 Go 的生产实现与测试替身,配合 go test -tags 和 go list 检查文件选择,避免测试代码误进入生产构建。423 收藏 -
讲清 Go time.FixedZone 的 name 与秒级 offset 语义,演示如何构造 UTC+08:00、转换已有时间并区分 FixedZone 与 LoadLocation。423 收藏 -
用 fstest.MapFS 构造内存文件系统,把 http.NewFileTransportFS 注册到 file 协议,再用 http.Client 验证静态资源读取、缺失文件 404 和响应体关闭边界。422 收藏 -
使用 go/parser 把同一 Go 包的多个源码文件解析到共享 FileSet,再调用 doc.NewFromFiles 生成包文档;同时说明 _test.go 示例、构建约束和 PreserveAST 的使用边界。422 收藏 -
Golang · Go教程 | 3天前 | errgroup · goroutine · 错误处理 · go · Context · 并发调用 错误传播 SetLimit context取消 WithContext Go errgroup
使用 errgroup.WithContext 可以并发调用多个独立依赖,在首个非空错误出现时取消同组任务,并由 Wait 统一回收。本文给出结果收集、限流与延迟验证写法。422 收藏 -
用 Go io.MultiReader 按顺序合并多个输入流,再交给 io.Copy 统一消费;文章同时说明部分读取、非 EOF 错误、文件关闭和 MultiWriter、LimitReader 的选型边界。421 收藏