Go语言技术文章
-
Go go/doc.ToText 可以把文档注释写成适合终端阅读的纯文本。本文拆开 prefix、codePrefix、width 的作用,说明链接识别限制,并给出迁移到 Package.Text 与 comment.Printer.Text 的选择方法。250 收藏 -
Go 自动生成文档时,可以用 go/doc.Filter 把文档树裁剪成公开 API 视图。本文从 Package.Filter 的实际行为出发,说明名称过滤器、类型成员边界、包注释清空和复制文档对象时的取舍。178 收藏 -
面向以 -cover 构建的长期运行程序,说明 Go runtime/coverage.WriteCountersDir 生成的计数快照如何与匹配的元数据配合,并用 go tool covdata 做汇总分析。341 收藏 -
米坛社区 BandBBS 按设备组织论坛分区,米坛知识库提供教程与工具目录。本文整理表盘、固件和工具资源的设备适配、版本核对及安全使用边界,帮助用户减少误装与误操作。237 收藏 -
Go sync.RWMutex.TryLock 会尝试获得写锁并立即返回结果。本文用缓存刷新场景说明它与 Lock 的阻塞差异、成功后的 Unlock 责任,以及何时可以跳过一次写入、何时必须排队完成。360 收藏 -
面向以 -cover 构建的长期运行程序,说明 Go runtime/coverage.WriteMetaDir 如何写出覆盖率元数据、如何准备目录,以及它与计数快照的边界。180 收藏 -
Go sync.Mutex.TryLock 返回 false 代表没有获得锁,不代表锁已经解锁。本文用最小代码说明成功分支的 defer Unlock、失败分支的直接返回,以及 TryLock 的兼容与使用边界。166 收藏 -
Go 反射遍历 map 时,MapIter.Value 会返回当前元素的 reflect.Value;Value.SetIterValue 可以在目标 Value 可设置且类型可赋值时直接接收当前值,避免额外构造一个 Value。本文给出复制循环、边界条件与回退清单。500 收藏 -
在反射构造切片时,reflect.Value.Grow 可以提前保证追加空间,但它只接受可设置的 Slice Value,不改变切片长度。本文从批量映射场景出发,梳理 Grow 与 append、SetLen 的职责,以及 Kind、CanSet、负数参数和容量溢出的 panic 边界。196 收藏 -
爱玩机工具箱产品站提供入口、开始使用和权限说明。本文整理ROOT、应用列表、存储与系统设置权限的核对方法,帮助用户在自己的设备上按需使用并保留安全退出路径。430 收藏 -
Go database/sql/driver.Validator 的 IsValid 只返回布尔值,不会直接返回 ErrBadConn。本文结合连接归还池的时机,说明 false 如何让失效连接被丢弃,以及 ErrBadConn 何时才适合交给 database/sql 触发新连接重试。344 收藏 -
PATH 是多个路径组成的列表,不能用 filepath.Split 当作单一路径处理。本文对比 ListSeparator 与 Separator,说明 Go 中如何跨平台拆分 PATH,以及空输入、清理和绝对化的边界。143 收藏 -
Go os.Pipe 的读端提前关闭后,写端继续写入可能得到 broken pipe。本文从两端关系、关闭时机、错误分类和子进程通信场景说明原因,并给出可复用的处理策略。196 收藏 -
本文从 database/sql 的调用路径出发,区分 sql.DB.Ping、PingContext 与 driver.Pinger.Ping 的职责,说明驱动怎样报告失活连接,以及应用如何把超时和单连接错误接回连接池策略。382 收藏 -
根据甲壳虫ADB助手产品站常见问题页,整理搜索不到电视或车机时的同一Wi-Fi、ADB调试、IP地址、授权弹窗和无线调试排查顺序。334 收藏