Go教程技术文章
-
Golang · Go教程 | 1个月前 | 连接池 · Go教程 · net/http · HTTP客户端 · Go net/http Client Go Transport拆分 Go多上游HTTP客户端 Go连接池隔离 Go HTTP代理配置
Go net/http 访问多个上游时,不要直接改全局 DefaultTransport。本文用公共基线加独立 Transport 的方式拆分代理、TLS、连接池和超时边界。323 收藏 -
围绕 Go net/http Client 讲清 Transport 复用、Response Body 关闭、读到 EOF、状态码判断和异常场景检查清单,给出可复用的请求封装方案。232 收藏 -
用 Go net/http Client 的 CheckRedirect 比较重定向前后的 scheme、主机和端口,在信任边界变化时清理 Authorization、Cookie 与自定义 API 密钥,并说明默认转发、307/308 请求体和 ErrUseLastResponse 的处理边界。110 收藏 -
Go embed.FS 的 glob 目录要区分构建期与运行期://go:embed 模式必须匹配文件或非空目录,fs.Glob 的零匹配则应单独作为业务分支处理。本文给出稳定入口文件、隐藏文件规则和错误分层方案。140 收藏 -
用 Go embed.FS 把模板目录编译进二进制,启动时通过 html/template.ParseFS 解析,请求阶段用 ExecuteTemplate 执行,并说明嵌入路径、模板名称、匹配规则和发布边界。163 收藏 -
用 Go embed.FS 把静态资源编译进二进制,再通过 fs.Sub、http.FS、StripPrefix 和 FileServer 对齐嵌入根目录与 URL 前缀,解决部署漏文件和静态路径 404。167 收藏 -
围绕 Go io/fs 讲清文件不存在、权限错误、非法路径和目录遍历失败的判断顺序,给出 errors.Is、errors.As、ReadFile 与 WalkDir 的可复用处理方式。358 收藏 -
用 Go io/fs 的 fs.Sub 把目录映射成独立的 FS 视图,配合 WalkDir 和 ReadFile 处理相对路径,并厘清非法路径、缺失目录与符号链接安全边界。139 收藏 -
用 Go io/fs 的 fs.FS 与 fs.WalkDir 统一遍历磁盘目录、嵌入资源和测试文件系统,掌握 slash 路径、DirEntry、错误处理、符号链接与 fs.Sub 的边界。247 收藏 -
用 Go io.MultiReader 按顺序合并多个输入流,再交给 io.Copy 统一消费;文章同时说明部分读取、非 EOF 错误、文件关闭和 MultiWriter、LimitReader 的选型边界。421 收藏 -
Go io.NewSectionReader 可以把 ReaderAt 限定在指定偏移和长度内读取。本文说明 off 与 n 的范围表达、ReadAt 的相对偏移、EOF 判断以及并发和资源生命周期边界。148 收藏 -
Go 限制上传读取长度时,不要只相信 Content-Length,也不要直接 io.ReadAll。本文用 io.LimitReader 暴露 maxBytes+1 字节,再配合 io.Copy 流式写入临时目标,区分正常文件、超限文件和读取失败。123 收藏 -
Golang · Go教程 | 1个月前 | Go教程 · encoding/json · Go encoding/json json.RawMessage json.Decoder 未知字段 兼容升级
围绕 Go json.Decoder 的结构体解码边界,说明如何用默认宽松解码兼容新增字段,再用 json.RawMessage 保留未知字段,并按场景切换严格校验。468 收藏 -
Go json.Decoder 的 Token 会逐个返回 JSON token。本文用 json.Delim 和深度计数识别对象、数组的嵌套边界,并说明对象字段、数组元素、EOF 与畸形输入的处理节奏。198 收藏 -
用 Go json.Decoder 配合 Token、More 和 Decode 逐项处理大型 JSON 数组,说明不保存全量切片时的内存边界、数字精度和异常处理取舍。476 收藏