Go语言技术文章
-
Go 错误建模可按调用方需求选择:只需判断固定条件时用哨兵错误,需要读取操作、资源或原因等字段时用自定义类型。本文给出 Is、As、%w、组合模式、信息边界与兼容性检查。145 收藏 -
MySQL Histogram 统计信息不会随每次数据变更自动持续更新,过期后可能让优化器误判过滤率、rows 和访问路径。本文用 COLUMN_STATISTICS、EXPLAIN 与 ANALYZE TABLE 给出判断、重建和回滚边界。145 收藏 -
DeepSeek 在 2026 年 9 月 30 日公开面向华为 Ascend 的计算、通信与编译工具后,真正值得关注的是分层协作:模型团队开放高性能内核,硬件生态提供 NPU 工具链与验证环境,社区通过兼容接口把能力接入更大的软件栈。本文按公开仓库拆解这套模式及其落地边界。145 收藏 -
CNCF 公告里的会员升级、项目晋级和维护工具 rollout 代表的信号并不相同。本文用近期官方公告拆解事实、治理和采用三层证据,帮助读者形成可复核的开源项目判断清单。145 收藏 -
用 sync.Mutex 把共享状态的读取、条件判断和写回绑定在同一个临界区,避免并发复合更新中的竞争窗口、丢失更新和状态泄漏。145 收藏 -
Go 项目要同时支持 Linux、macOS 和 Windows 时,不要手写斜杠或反斜杠。本文用 filepath.Join、ToSlash、FromSlash 和 IsLocal 说明本地路径拼接、格式转换与输入边界的实用写法。145 收藏 -
科技周边 · 人工智能 | 1星期前 | JSON · API · python · 人工智能 · 结构化输出 · 结构化输出 JSON Schema Gemini API response_schema response_mime_type additionalProperties
Gemini API 结构化输出要限制 JSON 字段,应把 response_mime_type 与 response_schema 一起配置,用 properties、required、enum 和额外字段策略约束形状,再在客户端校验业务语义。145 收藏 -
Go testing/synctest 怎样让测试等待虚拟时间推进?本文用 bubble、time.Sleep 和 synctest.Wait 拆解虚拟时钟的推进条件,说明如何测试超时与后台 goroutine,以及网络 I/O 为什么不能直接依赖虚拟时间。145 收藏 -
Go reflect.Value.Equal 适合在反射代码中比较两个 Value:无效值彼此相等,接口值比较内部值,类型不同返回 false;同类型不可比较值会 panic。本文用最小示例说明这些边界和安全写法。145 收藏 -
Go gzip.Reader.Reset 会丢弃 Reader 的当前状态,并把它重新绑定到新的 gzip 输入。本文用批量解压示例说明 Reset 的调用顺序、错误处理、EOF 与 Close 的边界,以及什么时候复用才有价值。145 收藏 -
Java Introspector 默认会沿继承链分析 Bean。本文用 stopClass 截断父类和 Object 的属性来源,并给出 PropertyDescriptor 核对方法与边界清单。145 收藏 -
Go 的 os.CreateTemp 通过 pattern 控制临时文件名前缀;加入星号还能指定随机段位置并保留扩展名。本文说明目录选择、清理责任与不同创建方案的适用边界。144 收藏 -
Golang · Go问答 | 3星期前 | goroutine · Context · 并发编程 · 故障排查 · Go问答 · channel WaitGroup Go context ctx.Done 阻塞排查 context.Canceled
Context 取消只会关闭 Done 通道,不会自动打断 channel 收发、WaitGroup、Mutex、Sleep 或不支持 Context 的 I/O。本文按取消链、阻塞点和下游 API 三层给出排查与修复方法。144 收藏 -
Go 1.23 引入的 iter.Seq 让 slices.Chunk 可以惰性提供批次,slices.Collect 再把序列接收为可索引切片。本文说明空序列、尾批次和 slices.Clone 的数据所有权边界。144 收藏 -
本文说明 Python asyncio.as_completed 如何按完成顺序消费任务结果,并处理异常、超时、任务身份和剩余任务清理。144 收藏