Go语言技术文章
-
PHP backed enum 处理请求字符串时,应在输入边界先用 tryFrom() 判断合法性,非法值返回 400;可信内部值再使用 from(),JSON 默认输出 backing value。271 收藏 -
Go 交叉编译后的二进制运行时报架构错误时,先核对 GOOS、GOARCH 与产物格式,再区分纯 Go、cgo、动态加载器和目标机器不匹配,避免只改一个编译参数。137 收藏 -
GitHub Copilot App 现在拥有独立客户端策略,企业和组织管理员可在 AI Controls 的 Copilot Clients 中单独控制访问,并按治理范围选择三种策略状态。246 收藏 -
AI Agent 调用工具时经常漏传必填字段,问题通常不在提示词,而在工具契约没有收紧。本文用 JSON Schema 拆分必填、类型、额外字段和失败回传,给出可落地的校验与重试边界。316 收藏 -
解释 Go CGO_ENABLED=0 后依赖包无法编译的原因,教你用 GOOS、GOARCH、CgoFiles 和 GoFiles 判断文件选择,并在启用 cgo、纯 Go实现与自有包双实现之间做出可验证的修复。418 收藏 -
Go 反射读取结构体 json 标签时,Get 无法区分未声明与显式空值。本文用 StructTag.Lookup 解释 value 和 ok 的三态判断,并说明格式异常应如何配合 go vet 排查。360 收藏 -
Redis 选 RDB 还是 AOF,关键不是哪种方式绝对更好,而是业务能接受丢失几秒或几分钟数据。本文按丢失窗口、fsync、恢复速度和备份要求给出 RDB、AOF 与组合策略的选择方法。501 收藏 -
Go 交叉编译开启 cgo 后找不到目标编译器,通常是只设置了 CGO_ENABLED 而没有准备匹配 GOOS/GOARCH 的 CC、目标头文件、运行库和链接器。本文按变量、工具链和报错层次给出排查方法。444 收藏 -
MySQL 用 ROW_NUMBER 去重时,先按业务键分组并定义稳定排序,再在外层筛选 rn=1,就能保留每组一条完整原始行。本文给出预览、边界检查和安全清理写法。416 收藏 -
Go 读取结构体自定义标签时,先通过 reflect.TypeOf 和 Field 拿到 StructField,再用 Tag.Lookup 区分标签缺失与显式空值;Tag.Get 适合只关心字符串的兼容场景,但非约定格式的返回值不应被依赖。291 收藏 -
用侧后方月光、拱门中下部落点和顶部低细节留白,制作一组适合锁屏的沙漠月下拱门手机壁纸,并通过同源变体控制月光不压住轮廓。365 收藏 -
Go 的 build tag 不是只作用于测试文件。本文拆开构建约束、_test.go 后缀和 go test 文件选择规则,给出用 go list 与 go test 定位测试覆盖问题的方法。375 收藏 -
冷链仓库交接时,如何记录货物身份、车厢与货物温度、包装状态及异常处置,让收货、待判和责任确认都有可追溯依据。424 收藏 -
Go 1.23 的 range-over-function 会把循环里的 break 转成迭代器可识别的停止信号。本文用 iter.Seq、Seq2 和 iter.Pull 说明 yield 返回 false、defer 清理与 stop() 的配合,解决惰性遍历提前结束时资源没有释放的问题。380 收藏 -
IndexedDB 事务会随事件循环在没有新请求时自动提交。本文用读后写、网络等待、版本升级和同源边界说明为什么不能跨 await 继续使用原事务,以及如何改成稳定的请求回调结构。398 收藏