Go问答技术文章
-
Go mime/multipart.Reader 中,Part.Read 返回 io.EOF 表示当前部件结束,NextPart 返回 io.EOF 才表示整个 multipart 消息结束。本文用手动读取、io.ReadAll 和异常输入三个示例说明结束判断、n>0 与 EOF 同时返回及部件切换边界。105 收藏 -
Go 1.24 起可以通过 http.Transport.Protocols 明确声明客户端支持的协议集合。本文说明怎样只启用 TLS 上的 HTTP/2、为什么 ForceAttemptHTTP2 不能代替协议集合配置,以及服务端不支持 HTTP/2、使用明文 h2c 或自定义 TLS 时分别要注意什么。105 收藏 -
Go net.Resolver.LookupAddr 接受 IP 地址并返回一个或多个反向 DNS 主机名。本文用带超时的上下文处理 PTR 查询,说明如何保留多结果、区分空切片与错误,并排查纯 Go 与 cgo resolver 的环境差异。105 收藏 -
Go YAML 配置转 JSON 后出现数字或布尔类型差异,通常来自 YAML 解码目标与 JSON 再解码到 any 的默认映射。本文用最小复现定位变化层,并给出结构体、UseNumber 与 RawMessage 的修正方式。104 收藏 -
Go flag.FlagSet.Visit 只遍历 Parse 后被用户显式设置的参数,适合记录命令行覆盖项;VisitAll 用于完整参数表,Lookup 用于单项查询。本文用配置覆盖和诊断日志场景说明三者边界。104 收藏 -
解释 Lumberjack 多进程共用轮转文件时实例锁、句柄和归档管理无法协调的原因,给出独占目录初始化示例,并说明多副本命名、迁移与目录容量管理。104 收藏 -
huh 表单结束后变量仍是旧值,通常是 Value 绑定了副本、变量被遮蔽,或 Run 没有完成。本文给出指针绑定、状态判断和 Key 读取的排查方法。103 收藏 -
Go toolchain 自动下载失败时,可以根据项目是否允许升级,选择 GOTOOLCHAIN=local 或 go1.x.y+path 固定本地工具链,并检查 go.mod、go.work 与 PATH 中的版本关系。103 收藏 -
Go 的 nil map 可以读取、遍历和删除,但不能写入。本文用缓存索引示例说明 make 初始化、惰性初始化、双值读取和回归检查,避免 assignment to entry in nil map。103 收藏 -
围绕 ResponseWriter 包装导致的 http.Flusher 断言失败,说明安全断言、Unwrap 透传和 ResponseController 兜底的兼容写法。103 收藏 -
Go TLS 出现 unknown authority 时,按服务端证书链、系统根证书池、私有 CA、自定义 RootCAs 和容器证书包逐项排查,避免用 InsecureSkipVerify 绕过校验。103 收藏 -
Go x/text/encoding/korean 的 Decoder 复用前为什么要 Reset?关键在于把 Reset 当作转换器生命周期边界,而不是把它误解成每次都能修复错误编码。当前 EUC-KR 解码器是无持久状态实现,但生产代码仍要隔离复用、Reader 生命周期和并发所有权。103 收藏 -
Go Starlark 的 starlark.List 不能直接作为字典键,因为它的 Hash 方法明确返回不可哈希错误。本文从 SetKey 的错误现场出发,说明列表、元组、稳定字符串和业务 ID 的选型边界。103 收藏 -
Golang · Go问答 | 1星期前 | 反射 · unsafe · 指针 · 垃圾回收 · Go问答 · Go 反射 垃圾回收 unsafe.Pointer uintptr runtime.KeepAlive Value.Pointer UnsafeAddr
Go 反射得到的 Pointer 或 UnsafeAddr 结果是 uintptr,不能像引用一样保活对象。本文区分立即转换、uintptr 暂存、runtime.KeepAlive 和低层调用参数四种场景,给出排查清单与安全边界。103 收藏 -
Golang · Go问答 | 4星期前 | JSON · 基准测试 · go · pprof · 性能排查 · 内存分配 encoding/json pprof Go JSON JSON性能 go test benchmark
Go JSON 编解码慢时,不要只看 ns/op。本文用固定输入、benchmem、CPU profile 和内存 profile,区分 JSON 计算热点、短命对象分配与存活堆增长,再按证据选择优化动作。102 收藏