Go语言技术文章
-
sort.Search 找的是谓词第一次返回 true 的位置,不是直接判断相等。本文用升序和降序切片说明先 false 后 true 的单调条件,并处理未命中、重复值、空切片和插入位置。479 收藏 -
artworkout的入口是 https://artworkout.app/。它是一款以分步课程、即时反馈和短时练习为主的绘画学习应用。本文整理课程类型、练习模式、多人功能、账号同步和订阅边界。129 收藏 -
reflect.VisibleFields 会把匿名嵌入结构中的可见字段和未导出字段一起返回,真正的导出筛选要交给 StructField.IsExported。本文用一个包含嵌入结构的例子说明如何保留提升字段、处理 Index,并封装成可复用函数。483 收藏 -
shizuku的可信入口是RikkaApps官方GitHub仓库与用户手册。本文整理Shizuku的系统API定位、Root、无线调试和电脑ADB启动方式,以及不同Android版本下的权限和稳定性边界。356 收藏 -
从运行时值、泛型类型参数和接口类型三个角度比较 reflect.TypeFor 与 TypeOf 空指针技巧,说明 nil interface 陷阱以及该怎样选择更直观的写法。126 收藏 -
围绕 sync.Map.Range 回调内删除当前键的场景,说明 Delete 为什么可以调用、Range 为什么不是一致快照,以及缓存清理时如何选择实现。191 收藏 -
用一个小型 Go 任务队列说明 sync.Cond.Signal 与 Broadcast 的选择边界:单个资源变化唤醒一个等待者,全局条件变化广播全部等待者,并解释 Wait 为什么必须放在 for 循环里。152 收藏 -
sync.Cond 可以在首次使用前完成初始化,但首次 Wait、Signal 或 Broadcast 后不应再复制。本文结合 Locker、等待状态和常见值传递场景,说明为什么要用指针持有 Cond。422 收藏 -
bytes.Reader.WriteTo 会消费当前未读区间,完整导出后 Len 变为 0。本文解释读取索引为什么推进,并给出复用 Reader、重读原始字节和随机读取时的安全写法。450 收藏 -
bytes.Reader.Seek 判断的是最终绝对位置。定位到数据开头之前会返回 0 和 negative position 错误,原读取位置保持不变;越过末尾则可成功,但后续读取会得到 EOF。403 收藏 -
Go token.File.SetLines 返回 false,通常不是 API 随机失败,而是行首偏移没有满足严格递增、范围小于文件长度等约束。本文用一组可定位的判断方法说明如何构造行偏移表,并把它接回 Pos、Line、Offset 与 Position 查询。200 收藏 -
Go token.FileSet 把每个源码文件映射到一个包含 EOF 的位置区间。本文解释 AddFile 的 base、size 与 FileSet.Base 关系,说明手工复用 base、混用本地 offset 时为什么会出现 panic 或位置错位,并给出多文件位置分配与排查写法。114 收藏 -
米坛社区的入口是 https://www.bandbbs.cn/。它是独立维护的智能穿戴设备交流社区,不是小米等厂商官网。本文整理按设备板块找教程、识别资源来源和安全使用的基本方法。352 收藏 -
爱玩机工具箱的入口是 https://www.aiwanjitool.com/。本文根据产品站和使用教程,整理安装入口、免Root与Root模式的定位、权限核对方法及系统级操作的安全边界。102 收藏 -
testing/quick 默认通过反射生成输入,遇到含不可导出字段的结构体就无法自动构造。本文用自定义 Generator 和 Config.Values 两条路径处理本地类型与 time.Time 等外部类型,并说明随机边界与可复现配置。238 收藏