Go语言技术文章
-
Go flag.FlagSet 的 VisitAll 会按参数名的字典序遍历全部参数,Visit 只遍历本次实际设置的参数。本文用两者组合生成带默认值、当前值和设置状态的自定义帮助信息,并说明自定义排序与输出边界。332 收藏 -
用 text/scanner 扫描源码片段时,可以把 Scanner.Mode 设为 ScanIdents、ScanInts、ScanComments 和 SkipComments 的组合。未启用的字符串或浮点数不会被静默丢弃,而会按字符或子词元返回。332 收藏 -
Go Koanf 默认用分隔符把配置键解释为路径。当字面键名和嵌套路径展开后得到同一个扁平键时,查询就可能命中另一层。本文说明冲突原因,并给出改用斜杠分隔符和配置边界翻译的处理方式。331 收藏 -
Go runtime/trace 用 NewTask 标记可跨 goroutine 的逻辑任务,用 WithRegion 标出单个 goroutine 内的阶段;本文说明 context 传递、Task.End 生命周期和类型命名边界。331 收藏 -
Golang · Go问答 | 3星期前 | goroutine · go · Context · Go问答 · Http请求 Go Goroutine 取消 context 超时 Deadline Done err
Go context deadline 过期只会发出取消信号,不会强制终止忽略 context 的工作。本文从派生 context、检查点和 HTTP 驱动响应三个层面说明请求仍执行的原因与修复边界。331 收藏 -
用 Doublestar 的目录前缀与 **/*.ext 模式限制递归匹配范围,说明 Glob、GlobWalk、文件过滤、路径分隔符和错误边界。331 收藏 -
Go 的 maps.Clone 不只是复制键值,它还保留源 map 的 nil 语义。本文用最小示例区分 nil map 与非 nil 空 map,说明 Clone 后的写入边界、浅拷贝限制,以及序列化和默认值处理时的工程取舍。331 收藏 -
解释 Go sync.Pool 中对象在 GC 后为什么不能视为必然存在,给出 New 兜底、重置状态和 Get/Put 生命周期的安全写法,并划清临时复用与业务缓存的边界。331 收藏 -
Go 1.25 新增的 fs.ReadLink 用来读取虚拟文件系统中符号链接的目标字符串。本文用 fstest.MapFS 演示 ModeSymlink、ReadLinkFS、Lstat 和 ReadFile 的配合,并说明它与 os.Readlink 的适用边界。331 收藏 -
Go 指针接收者方法能否由值变量调用,取决于方法集和可寻址性。本文用方法集、接口实现与函数返回值边界解释报错原因,并给出接收者设计建议。331 收藏 -
围绕 Go sync.Pool 结果不稳定的常见现象,解释 Get 的任意取值、对象自动移除、初始化清理、所有权边界和业务状态选型,给出可复用的缓冲区排查思路。331 收藏 -
Golang · Go教程 | 1星期前 | 标准库 · 错误处理 · csv · Go教程 · Go CSV导入 encoding/csv csv.Reader FieldsPerRecord ErrFieldCount
Go csv.Reader 用 FieldsPerRecord=-1 可以接收列数不固定的记录;如果业务仍需识别异常列宽,则应保存每次 Read 返回的 record,并在固定列宽模式下同时保留 ErrFieldCount。本文区分字段数错误、部分解析错误和 io.EOF,给出可审计的导入循环。331 收藏 -
说明 Go net/url.URL 的缺省字段、查询空值与业务补丁的区别,给出保持、设置、删除三态示例,并处理 ForceQuery、Fragment 和编码提示的边界。331 收藏 -
Golang · Go教程 | 5天前 | 并发 · 标准库 · Context · 资源管理 · Go教程 · Go Goroutine 资源清理 context取消 context.AfterFunc
本文用一个可复用的最小示例说明 Go context.AfterFunc 如何在上下文取消后安排异步清理,重点解释 stop 返回值、清理完成通知、竞态和幂等边界。331 收藏 -
围绕 Go image/gif.GIF 的 Disposal 字段,说明 DisposalNone、DisposalBackground 和 DisposalPrevious 如何影响动画帧结束后的画面,并给出 Image、Delay、Disposal、BackgroundIndex 与 EncodeAll 的对应写法。331 收藏