Go语言技术文章
-
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 接口里装入 nil 指针后,接口本身通常不等于 nil。本文从动态类型与动态值解释原因,并给出类型断言、反射判断和返回值设计方案。390 收藏 -
unique.Handle 的相等性遵循创建它的 T 值的 Go == 语义;只有当 T 本身是指针时,Handle 相等才可解释为指针值相等,不能泛化为任意原始对象地址相同。390 收藏 -
用 Go flight recorder 在内存中保留故障前的执行轨迹,按慢请求阈值写出一次快照,再用 go tool trace 定位阻塞根因。390 收藏 -
讲解 Go 1.27 HTTP/1 响应体关闭后的有限自动排空,结合有界读取、共享 Transport 与 httptrace,区分关闭责任、读完正文和连接复用。390 收藏 -
Go 交叉编译找不到目标系统头文件,通常是 cgo 使用了宿主机编译器,或目标 sysroot、第三方开发包不完整。本文按 cgo 开关、CC、sysroot、pkg-config 和链接阶段给出排查顺序。390 收藏 -
Go 的 golang.org/x/text/secure/precis 提供 UsernameCaseMapped 账户名配置文件。本文用注册和登录场景说明如何处理规范化结果、空值错误、Compare 与 CompareKey 的选择,以及显示名和身份键的边界。390 收藏 -
Go bidirule 检查 RFC 5893 方向规则,不判断文本语义或发布许可。本文给出独立检查报告示例,说明字段适用范围、状态设计和方向规则与内容策略的分工。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 收藏 -
Go 的 time.LoadLocationFromTZData 可以直接从标准 IANA TZif 字节创建 Location,适合把时区数据随程序一起打包。本文说明数据来源、参数语义、错误处理以及与 ParseInLocation 的组合方式。390 收藏