Go教程技术文章
-
Go io.ReaderAt 适合按偏移读取固定长度记录。本文用偏移公式、完整读取示例和错误表,说明如何处理短读、EOF、溢出和底层 I/O 错误。333 收藏 -
Go 1.27 的 go fix 新增 slicesbackward,可以把满足固定形状的倒序切片循环迁移为 slices.Backward。本文从输入边界、索引依赖、版本条件和预览方式说明何时适合使用。333 收藏 -
Go 的 sync/atomic.OrUint32 适合把多个独立状态压进一个 uint32 状态字,并原子设置指定 bit。本文从位掩码、返回旧值、并发写入和 atomic.Uint32.Or 四个角度说明它的正确用法与边界。333 收藏 -
Bubble Tea 会把终端初始尺寸和后续变化送进 Update。本文用 WindowSizeMsg 保存宽高,再让 View 根据模型尺寸重算布局,并说明过窄窗口与 Windows 平台边界。332 收藏 -
使用 go/scanner 扫描 Go 源码时,Scanner.End 会返回当前已扫描 token 紧随其后的 token.Pos。本文说明怎样把它转换成行列和字节偏移,并处理首次调用、EOF、注释和文件长度边界。332 收藏 -
本文用 golang.org/x/text/number 的 Scientific 说明科学计数法显示方式,并介绍 Precision、Scale、语言标签与 Engineering 的边界。332 收藏 -
围绕 Go sql.DB.SetConnMaxLifetime 说明连接年龄、空闲时长与连接数量的区别,给出连接轮换配置、DBStats 观察方法和生产边界。332 收藏 -
Go archive/zip.Reader 逐项读取时,结果为空通常不是 range 失效,而是 Reader 构造、文件大小、目录条目或 File.Open 错误没有被分别记录。本文给出本地 ZIP 与 ReaderAt 两种读取方式,并用可量化的条目指标定位不完整结果。332 收藏 -
用 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 收藏 -
Golang · Go教程 | 4天前 | 标准库 · 错误处理 · 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教程 | 2天前 | 并发 · 标准库 · Context · 资源管理 · Go教程 · Go Goroutine 资源清理 context取消 context.AfterFunc
本文用一个可复用的最小示例说明 Go context.AfterFunc 如何在上下文取消后安排异步清理,重点解释 stop 返回值、清理完成通知、竞态和幂等边界。331 收藏