Go语言技术文章
-
Go huh 中,字段 Validate 返回错误不会让表单退出;用户主动离开才会得到 huh.ErrUserAborted。本文按提交、取消、校验失败和运行时错误四个出口说明 errors.Is 与 Form.State 的用法。377 收藏 -
huh 表单结束后变量仍是旧值,通常是 Value 绑定了副本、变量被遮蔽,或 Run 没有完成。本文给出指针绑定、状态判断和 Key 读取的排查方法。103 收藏 -
Go huh 动态选项未刷新时,应区分静态 Options、OptionsFunc 闭包和 bindings。通过区域与队列联动示例说明变量地址绑定、缓存、旧选择失配及空状态处理。367 收藏 -
Go huh 给输入框添加字段校验函数的关键是调用 Input.Validate,把字符串规则返回为 error;本文用空值、长度与业务约束说明如何组合校验,并处理错误显示、Value 绑定和可访问模式边界。442 收藏 -
Go huh 的可访问模式会放弃 Bubble Tea 的 TUI 重绘,改用更适合屏幕阅读器、CI 和脚本输入的普通终端提示。本文说明如何通过环境变量、Reader、Writer 和字段校验配置一份可复用的表单。228 收藏 -
Go Lip Gloss 的 Width 参与块布局和文本换行,MaxWidth 则在渲染完成后逐行截断。本文结合边框、内边距和 Inline,说明两者的渲染时机与选择方法。429 收藏 -
Go Lip Gloss 在不同终端颜色不一致,通常与终端色彩档位、输出目标和背景检测有关。本文说明如何使用 Lip Gloss writer 自动降采样,并用 Complete 为关键颜色提供稳定回退。228 收藏 -
Lip Gloss 的带颜色字符串包含 ANSI 控制序列,而中文和 Emoji 又可能占用多个终端单元格,所以 len 和 []rune 都不能代表显示宽度。本文按排障手册拆开长度口径,并给出 lipgloss.Width、lipgloss.Size 的替换方法。418 收藏 -
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 的 tea.Batch 适合互不依赖的命令并发组合,tea.Sequence 适合必须按顺序执行的命令。本文用原创 Go 示例说明两者的结果顺序、依赖关系、nil 命令与错误处理边界。119 收藏 -
Bubble Tea 的 tea.Tick 只发送一次消息;要做持续定时,必须在 Update 处理 TickMsg 后返回下一次 Tick 命令,并在退出时停止重新调度。251 收藏 -
Bubble Tea 的 Update 修改字段后,下一轮 View 仍然不变,通常是返回了旧模型,或值接收者修改副本后没有返回该副本。本文按消息、模型、返回值和 View 的状态链路给出排查与修复写法。290 收藏