Go教程技术文章
-
围绕Go net/url处理带未编码分号的查询串,说明ParseQuery如何保留有效参数和错误信息,为什么URL.Query会静默丢错,以及旧协议兼容分号时的安全拆分边界。353 收藏 -
Go 自定义测试 helper 没有调用 testing.TB.Helper() 时,失败日志容易指向工具函数内部。本文说明 Helper 的正确位置、多层包装与并发边界,让错误行号回到业务测试调用处。349 收藏 -
通过 encoding/csv.Reader 的 ReuseRecord 复用字段切片,介绍流式 CSV 读取中的即时处理、表头跳过、记录复制和分配基准边界,避免把可复用切片错误地交给异步任务或长期缓存。346 收藏 -
Go embed.FS 保留完整目录树,fs.Sub 可以把 web 子目录暴露为新的文件系统根目录。本文用最小代码说明路径变化、fs.ReadFile 检查方法以及接入 http.FileServer 时的常见错误。341 收藏 -
io.MultiWriter 按顺序把同一份数据写入多个目标;中间目标失败时不会回滚或继续写。本文说明如何判断部分写入、记录失败目标并设计幂等补偿。337 收藏 -
Golang · Go教程 | 2天前 | 连接池 · Go教程 · net/http · HTTP客户端 · Go net/http Client Go Transport拆分 Go多上游HTTP客户端 Go连接池隔离 Go HTTP代理配置
Go net/http 访问多个上游时,不要直接改全局 DefaultTransport。本文用公共基线加独立 Transport 的方式拆分代理、TLS、连接池和超时边界。323 收藏 -
Golang · Go教程 | 2天前 | 配置 · go · TLS · 网络安全 · TLS 1.3 Go crypto/tls最低TLS版本 tls.Config.MinVersion TLS 1.2 Go TLS配置 ConnectionState Version
围绕 Go crypto/tls 的 tls.Config.MinVersion,说明 TLS 1.2 与 TLS 1.3 的最低版本选择、客户端 Transport 和服务端连接绑定方式,以及用 ConnectionState 核对协商结果的迁移边界。321 收藏 -
围绕 Go testing.B.RunParallel 说明 b.N、GOMAXPROCS、SetParallelism 与墙上时间的关系,给出在并行基准结束后用 b.N 除以 b.Elapsed 估算 ops/s 的写法,并梳理 CPU、锁和外部依赖造成的吞吐边界。284 收藏 -
Go 多账号 HTTP 调用要把每个登录身份绑定到独立的 cookiejar.Jar 和 http.Client。本文说明如何复用同一会话、共享 Transport、重置 CookieJar,并用安全的 Cookie 名称检查排查登录态串号。278 收藏 -
用一个可复用的 Go HTTP 客户端设置 MaxConnsPerHost,区分总连接上限与空闲连接上限,并掌握按 host:port 判断和验收配置的方法。277 收藏 -
Go 的 hash.Hash.Sum 会把当前摘要追加到传入切片,并且不改变哈希状态。本文用 sha256 示例说明 nil、前缀、容量复用和继续 Write 的正确写法。263 收藏 -
Go encoding/csv 读取 CSV 时,应先消费并验证表头,再用 FieldsPerRecord 固定数据行列数。本文给出跳过表头、识别 ErrFieldCount 与 ParseError、在入库前完成结构校验的实现方法。259 收藏 -
围绕 Go testing.T.TempDir 讲清并行子测试的目录隔离、父测试共享只读夹具、自动清理和 GOTMPDIR 排查边界。251 收藏 -
Go 里 crypto/sha256.New 和 sha256.Sum256 都能计算 SHA-256,但适用场景不同:一次性 []byte 直接用 Sum256,文件、网络流和分块数据用 New。本文用代码、返回类型和边界清单说明如何选择。247 收藏 -
用 Go io/fs 的 fs.FS 与 fs.WalkDir 统一遍历磁盘目录、嵌入资源和测试文件系统,掌握 slash 路径、DirEntry、错误处理、符号链接与 fs.Sub 的边界。247 收藏