Go教程技术文章
-
Go huh 的可访问模式会放弃 Bubble Tea 的 TUI 重绘,改用更适合屏幕阅读器、CI 和脚本输入的普通终端提示。本文说明如何通过环境变量、Reader、Writer 和字段校验配置一份可复用的表单。228 收藏 -
Go Lip Gloss 的 Width 是应用 Margin 前的块宽度,Padding 和 Border 都会占用这段空间。本文按内容区、框架开销和终端单元格测量拆开计算,并整理中文文本、超宽内容与回退排查方法。430 收藏 -
用tea.Batch并发启动互不依赖的命令,将耗时操作放入Cmd闭包,并用独立消息更新模型状态。示例讲清结果无序、完成标记与后续任务依赖的处理方式。157 收藏 -
Lip Gloss 的左右文本面板要先分别 Render 成字符串,再用 JoinHorizontal 按顶部、居中或底部对齐;文章同时说明固定宽度、边框和终端总宽度预算。184 收藏 -
Go Lip Gloss 里可以用一个基础 Style 保存颜色、边框和间距,再用 Inherit 让标题、正文和警告样式只补齐未设置的规则。本文对比赋值复制与继承的区别,给出 v2 写法、旧代码风险和回归检查清单。324 收藏 -
Bubble Tea 会把终端初始尺寸和后续变化送进 Update。本文用 WindowSizeMsg 保存宽高,再让 View 根据模型尺寸重算布局,并说明过窄窗口与 Windows 平台边界。332 收藏 -
Bubble Tea 中不要让耗时查询直接阻塞 Update,而是把查询封装成 tea.Cmd,在完成后返回带数据或错误的自定义 Msg,再由 Update 统一更新模型。本文还说明如何用请求序号丢弃过期结果。224 收藏 -
介绍 Go billy.Filesystem.TempFile 的创建方式,演示如何在测试中保存路径,并用 t.Cleanup 按 Close 后 Remove 的顺序可靠清理临时文件。491 收藏 -
Go billy 的 Capabilities 返回文件系统能力位,CapabilityCheck 可判断一组操作是否同时被支持。本文说明位掩码读取、能力声明与底层存储状态的区别,以及写入、锁定和同步前的分支设计。403 收藏 -
Go billy 的 memfs 可以通过 Filesystem.Chroot 把 workspace 变成相对路径工作根。本文用最小 Go 示例说明如何创建、读写文件,并处理不存在目录、越界路径和 v5/v6 导入差异。410 收藏 -
用 Go afero 的 BasePathFs 为导出逻辑建立工作目录边界,演示相对路径写入、父目录创建、越界失败和安全边界判断。300 收藏 -
用afero MemMapFs为文件读取测试准备独立目录,示例讲清父目录创建、文件写入和实例注入,并区分正常内容、缺文件与真实磁盘测试的适用场景。278 收藏 -
使用 afero.NewReadOnlyFs 把可写的 afero.Fs 包装成只读视图,明确读取、Stat、已存在目录与创建删除重命名等修改操作的边界,并给出可回滚的注入方式。103 收藏 -
Go pem.Decode 找不到下一个 PEM 块时会返回 nil,并把未找到块的整段输入原样放到 rest。本文说明这种设计如何作为终止信号,并给出连续读取多个 PEM 块时避免重复处理和死循环的写法。288 收藏 -
Go 反射通过 FieldByName 读取同名嵌入字段时,多个路径无法唯一消歧会返回无效 Value。本文演示如何检查 IsValid、改用 FieldByIndex,并处理 nil 嵌入指针。232 收藏