Go教程技术文章
-
Go crypto/tls Config.Clone 适合在复用基础 TLS 配置时派生按连接修改的副本。本文说明浅层克隆、证书池和回调的共享边界,并解释会话恢复对验证回调的影响。391 收藏 -
用 Go 的 os.Pipe 把一个 exec.Cmd 的标准输出接到另一个进程的标准输入,本文给出可复用的最小示例,并说明 Start、Wait、Close 的顺序以及与 StdoutPipe、io.Pipe、Output 的选型区别。391 收藏 -
Go time.Time.MarshalBinary 可以保存时间点、纳秒和时区偏移,但不会保存原始 Location 名称,也不会保留单调时钟读数。本文用原创示例说明二进制往返、错误处理和额外保存 IANA 时区名的边界。391 收藏 -
Go 服务做配置热加载时,直接改共享结构体很容易让请求读到半成品。本文用 atomic.Value 发布不可变快照,拆解更新、读取、校验和旧配置回收的边界,并给出可验证的回滚做法。390 收藏 -
Go 的 html/template 会按输出上下文自动转义普通字符串;只有经过明确 allowlist、来源受控的片段,才应在渲染前转换为 template.HTML。本文用一个小页面说明两者的边界、代码写法和验收清单。390 收藏 -
Go 的 archive/zip 中,File.Open 返回的是带解压与校验边界的 io.ReadCloser。读取成员后应关闭它;如果外层使用 OpenReader 打开压缩包,还要另行关闭外层 ReadCloser。390 收藏 -
Go filepath.Match 的方括号表示单字符类,可用范围和 ^ 排除规则匹配文件名;本文同时说明整串匹配、转义、Windows 分隔符以及 ErrBadPattern 的处理方式。390 收藏 -
Golang · Go教程 | 1个月前 | bytes.Buffer · Go教程 · http.MaxBytesReader Go bytes.Buffer容量上限 Go请求体限制 bytes.Buffer Grow
bytes.Buffer没有可配置的最大容量。本文用受限 Writer 检查累计写入长度,并结合 http.MaxBytesReader 限制 HTTP 请求体,处理预分配、复用和明确超限错误。390 收藏 -
用 Go flight recorder 在内存中保留故障前的执行轨迹,按慢请求阈值写出一次快照,再用 go tool trace 定位阻塞根因。390 收藏 -
讲解 Go 1.27 HTTP/1 响应体关闭后的有限自动排空,结合有界读取、共享 Transport 与 httptrace,区分关闭责任、读完正文和连接复用。390 收藏 -
Go 的 golang.org/x/text/secure/precis 提供 UsernameCaseMapped 账户名配置文件。本文用注册和登录场景说明如何处理规范化结果、空值错误、Compare 与 CompareKey 的选择,以及显示名和身份键的边界。390 收藏 -
Go debug/gosym.Table.PCToFunc 接收一个 uint64 程序计数器,返回包含该地址的 *gosym.Func;查询不到时返回 nil。本文从已加载的符号表出发,说明如何读取函数名、Entry、End,并区分函数查询与源码行号查询。390 收藏 -
Go Lumberjack 用 MaxBackups 限制历史日志份数、用 MaxAge 按轮转时间限制保留天数;本文给出组合配置、清理时机和容量估算边界。390 收藏 -
Go os.ReadDir 返回的 DirEntry.Type 只是文件类型位的子集,不能当成完整 FileMode。本文用一个目录扫描器说明快速分类与 Info 补读的边界,以及如何处理元数据读取错误。390 收藏 -
解释 iter.Pull 的 next、stop 与提前退出责任,对比直接 range 和手动拉取,提供带清理标记的示例,并说明 defer 作用域、自然耗尽及重复停止的边界。390 收藏