Go语言技术文章
-
Go 的 iter.Seq 没有 error 返回位,遍历过程中的错误应通过结果对象携带;初始化失败则直接作为外层 error 返回,pull 迭代器提前结束还要调用 stop。171 收藏 -
Go 1.27 的 encoding/json/v2 遇到同一字段既可能是 42 又可能是字符串 42 时,可用局部自定义类型兼容两种表示,并严格拒绝小数、空白和越界值。170 收藏 -
pkg.go.dev API 可以直接返回 Go 模块的最新带标签版本。本文用 module、versions 两个接口和 Go 客户端示例,说明如何读取 version、isLatest,如何区分指定版本、main/master 分支和版本列表。170 收藏 -
Golang · Go教程 | 5天前 | go · 时区 · 时间处理 · 本地时间 time.LoadLocation 时区解析 Go time.ParseInLocation Asia/Shanghai
本文解释 Go 的 time.ParseInLocation 如何把不带时区的本地墙上时间按指定 Location 解析,比较 time.Parse 与 Time.In,并说明 IANA 时区加载、RFC3339、夏令时边界和 UTC 存储做法。170 收藏 -
上传中断后残留临时文件,通常是清理责任混淆或 defer 注册过晚。本文区分 ParseMultipartForm 与 MultipartReader 的文件所有权,并给出断流清理、所有权转移和崩溃回收写法。168 收藏 -
docker init 能快速生成 Go 项目的 Dockerfile、compose.yaml 和 .dockerignore,但生成结果只是起点。本文按构建版本、主程序路径、端口、运行用户和敏感文件五个边界,给出一份可落地的修改清单。167 收藏 -
Golang · Go教程 | 4天前 | Go教程 · HTTP客户端 · 后端开发 · io.ReadAll io.LimitReader Go HTTP客户端 Go LimitedReader 响应体大小限制
Go HTTP 客户端面对未知或不可信响应体时,不应直接无界 io.ReadAll。本文用 io.LimitReader(max+1) 与一个哨兵字节准确识别超限,说明 Content-Length 预检、压缩响应、读取错误、Body.Close、连接复用及 httptest 边界测试。166 收藏 -
介绍 Go 1.27 goroutineleak profile 的接入方式、持续采样口径和检测边界,帮助定位永久阻塞的 goroutine 泄漏。165 收藏 -
testing/synctest 用 bubble 隔离 goroutine,并把 time 包切换到虚拟时钟。本文从超时测试出发,说明 Test、Wait、资源清理和外部 I/O 的边界。165 收藏 -
bufio.Scanner 默认按换行切分,输入中的零字节通常会作为普通字节保留。本文用小样例排查默认边界、自定义 NUL 分隔和超长 token 限制,并给出 Scanner 与 Reader 的选择建议。163 收藏 -
time.Parse 遇到 MST、CST、PST 等时区缩写时,会受 Local 和缩写是否已知影响。本文用 Zone、Location 和 ParseInLocation 拆开定位方法,并给出更稳定的数值偏移解析方案。163 收藏 -
Golang · Go问答 | 22小时前 | CGO · 垃圾回收 · Go问答 · Go运行时 runtime.AddCleanup runtime.SetFinalizer runtime.KeepAlive 显式Close 资源生命周期
runtime.SetFinalizer 的触发时机无法承担确定性资源释放。本文从显式 Close、runtime.AddCleanup 和 runtime.KeepAlive 三个边界出发,说明如何替代不及时的 finalizer,并处理父子资源、并发关闭和 cgo 指针规则。162 收藏 -
Go SectionReader 通过 base、当前偏移和 limit 建立固定读取窗口。本文解释 Read 的缓冲区裁剪、ReadAt 的相对偏移、EOF、Seek 与 Size 的边界语义。161 收藏 -
WithCancelCause 可以让调用链继续用 ctx.Err() 判断取消类别,同时通过 context.Cause(ctx) 保留超载、用户主动停止等业务原因。本文给出迁移写法和父子 Context 的边界清单。160 收藏 -
Go 1.24 的 os.Root 会在目录边界内解析符号链接,本文区分 Root 的访问校验与 Root.Symlink 的创建语义,说明根内链接、越界目标、绝对链接和资源释放的处理方式。160 收藏