Go语言技术文章
-
Go mod tidy 移除本地 replace 依赖,通常不是本地模块不支持,而是 replace 没有对应 require、模块路径不匹配或代码已不再导入。本文用模块图、go.mod 边界和 tidy -diff 给出排查与修复方法。266 收藏 -
Golang · Go教程 | 1天前 | 字符串 · 标准库 · Go教程 · 并发边界 · 内存语义 · Go string 字符串拼接 strings.Builder strings.Clone
Go strings.Builder 的 String 方法返回当前累计内容,后续 Write 是继续修改 Builder,而不是直接修改已经得到的 string。文章解释 Builder 缓冲区与字符串值的边界,并给出单一所有者、禁止复制非零 Builder、并发隔离和按需 strings.Clone 的处理方式。236 收藏 -
Go mod tidy 后出现 // indirect 不一定是多余依赖。本文从传递依赖、测试与构建条件三个入口排查来源,并用 go mod why、go mod graph 和 -diff 安全确认是否应该保留。424 收藏 -
用 Go 的 bytes.Buffer 拼接多段二进制数据时,可以预留容量、连续 Write,并在结果消费或复制后 Reset 复用。本文重点说明 Bytes 的别名生命周期和安全边界。396 收藏 -
Golang · Go问答 | 2天前 | 结构体 · JSON · Marshal · Go问答 · UnmarshalJSON · Go encoding/json omitempty json.UnmarshalJSON 零值结构体
Go 的 json.UnmarshalJSON 只负责输入解析,不能改变 omitempty 的输出规则。默认 encoding/json 中,零值结构体仍是可编码对象;要隐藏可选嵌套对象,应使用 nil 指针,并按接口契约区分缺失、空对象和显式零值。261 收藏 -
Go 处理事件 JSON 时,json.RawMessage 适合保留结构可变或低频使用的 payload,先读取 kind,再按分支解码到具体结构体,避免 map[string]any 带来的类型丢失。420 收藏 -
讲清 Go time.Timer Reset 返回值的真实含义,比较 Go 1.23 前后的通道语义,并给出单 goroutine、旧版本排空和发布检查的实用写法。346 收藏 -
Go 实现 UnmarshalJSON 时直接调用 json.Unmarshal 会递归。本文用定义类型切断方法集,再补上错误处理、业务校验和嵌套字段边界。464 收藏 -
解释 Go time.Timer Stop 返回 false 的真实含义,区分 Go 1.23 前后的 timer channel 语义,并给出兼容旧版本与现代 Go 的安全复用判断。281 收藏 -
Go 中自定义 RoundTripper 时,不要用空的 http.Transport 替换默认传输层。本文说明如何通过类型断言和 Clone 保留 ProxyFromEnvironment、连接复用与响应体边界。401 收藏 -
讲清 Go time.ParseInLocation 在夏令时重复本地时间中的边界:固定 IANA 时区,保存 Zone、offset、IsDST、原始文本和 UTC 瞬间,避免把两次出现的本地时间误当成同一条记录。320 收藏 -
Go http.Transport 设置 DisableKeepAlives 后吞吐下降,通常是连接复用被关闭,重复承担建连、TLS 握手和连接调度成本。本文解释它与 TCP keepalive 的区别,并给出复用、限额和清理空闲连接的配置取舍。350 收藏 -
Go 的 time.Parse 没有时区时按 UTC 解释文本,time.ParseInLocation 则按传入 Location 解释。本文用同一日期、IANA 时区和比较方法说明两者差异及常见坑。156 收藏 -
讲清 Go http.Transport 的 IdleConnTimeout 如何按 keep-alive 空闲时长回收连接,并区分连接数量、响应头等待、请求总超时和主动清理。396 收藏 -
Golang · Go教程 | 2天前 | 时区 · Go教程 · 时间解析 · time.ParseInLocation · 实战排错 · Go 时间处理 time.ParseInLocation 时区解析
Go time.ParseInLocation 适合解析不带时区的业务时间字符串。本文对比 time.Parse 的 UTC 默认行为,说明如何加载 IANA 时区、统一存储 UTC,并处理偏移、缩写和夏令时边界。372 收藏