Go语言技术文章
-
Go sort.Find 可以同时返回有序切片中的命中下标和未命中时的插入位置。本文说明 cmp(i) 的方向、found 的判断、重复值边界与安全插入写法。272 收藏 -
Golang · Go问答 | 2天前 | 结构体 · JSON · 指针 · go · 接口设计 · encoding/json · encoding/json 结构体字段 可选字段 指针字段 字段缺失 Go JSON null
Go encoding/json 处理 JSON null 时,指针字段会变成 nil,而普通结构体字段通常保留原值。本文用复用旧对象的最小示例拆开字段缺失、显式 null 和具体对象的差异,并给出可选字段与三态接口的建模方法。272 收藏 -
从 OVHcloud 升级 CNCF 白金会员的公告出发,拆解开放标准、上游贡献、云可移植性和平台治理对工程团队的实际含义。270 收藏 -
Go trimpath 改写构建机绝对路径后,仍可保留文件名与行号。通过错误日志示例,对比两种构建,并用发布标识、源码快照和逻辑路径维持可用定位。270 收藏 -
PHP PDO 的 ATTR_STRINGIFY_FETCHES 可以控制查询结果是否把非 null 值按字符串读取。本文结合接口输出、旧代码兼容和类型检查,说明开启与关闭该属性时的边界。270 收藏 -
Go exec.Cmd 应从命令环境副本追加受控覆盖,避免显式 Env 丢失继承项。本文说明 nil 与空切片、Dir 和 PWD、空值与删除,并给出完整示例及敏感变量继承的限制。269 收藏 -
Redis ACL 用 &频道模式限制 Pub/Sub 范围,还需独立授予订阅命令。本文给出专用用户的最小配方,说明 PSUBSCRIBE 的字面匹配、旧宽权限残留及连接变更注意事项。269 收藏 -
更新配置、缓存或导出文件时,不要直接以 w 模式覆盖正式文件。本文用 pathlib.Path 和 tempfile 在目标目录先写临时文件,完成关闭后再 replace,说明失败清理、跨文件系统、Windows 句柄与持久化边界。268 收藏 -
Go 1.23 引入 iter.Seq 后,可以把过滤逻辑封装成惰性迭代器。本文从 yield 控制出发,演示多个过滤条件如何组合,以及下游返回 false 时怎样让上游及时停止。268 收藏 -
GitHub Copilot CLI 1.0.94-0 开始可以在 /model 中发现本地 Ollama 模型,但选择本地模型不等于自动离线。本文从 provider、endpoint、当前会话和 COPILOT_OFFLINE 四个信号说明怎样确认真正生效,并比较本地模型、远程 BYOK 与 GitHub 托管模型的边界。267 收藏 -
Go atomic.Int64保证单字段操作原子,但多个Load不构成同一时刻快照。本文用完整小程序说明并发加减、运行期采样、最终计数与周期取差,并归纳重置和对象复制的边界。267 收藏 -
Go net/url 解析带端口的域名和 IPv6 URL 时,Host、Hostname()、Port() 容易混用。本文用最小示例说明如何读取主机与端口,并处理方括号、Zone、缺失端口和非法端口边界。267 收藏 -
Go 1.22 改变了 for 循环变量的作用域,旧版测试尤其是 t.Parallel 子测试可能从误通过变成真实失败。本文用最小配方解释 go.mod、GOEXPERIMENT=loopvar 与 go vet 的协作方式,帮助你安全完成迁移。266 收藏 -
Hugging Face Datasets 读取 JSON 的关键是先判断根结构:JSONL 通常直接加载,嵌套数组要用 field 指向数据字段;多个文件则用 data_files 映射到 train、validation 等 split。本文给出最小写法、字段推断观察方式和常见排错边界。266 收藏 -
Go Fuzz 的种子语料可以分成代码里的 f.Add 样本和 testdata/fuzz/FuzzTestName 目录语料。本文用一个可迁移的 FuzzDecode 示例说明两种来源怎样配合、目录文件怎样命名、参数类型怎样对齐,以及失败样本如何沉淀为回归用例。265 收藏