Go语言技术文章
-
pkg.go.dev API 分页同步遇到 nextPageToken 不可继续使用时,应固定原请求参数、回到第一页并用稳定键幂等合并,避免漏数据和无限重试。485 收藏 -
Go 的 ctx.Err() 只能告诉你已取消或已超时,context.Cause(ctx) 才能携带主动取消的具体原因。本文用原创示例拆开主动取消、超时取消和父子上下文竞争时的判断方式。485 收藏 -
painter绘画助手的图层混合模式、Clip Below与Mask有什么区别?本文依据 Infinite Painter 官方产品页和帮助文档,说明入口、适用场景与编辑边界。485 收藏 -
特效变音魔术师对应 Google Play 上的变音魔术师产品页,本文整理公开入口、声音效果、录音保存、导入分享与使用时的权限和隐私注意事项。485 收藏 -
Colly 的 OnError 同时可能面对传输层失败、非 2xx HTTP 响应和解析回调错误。本文用 Response、StatusCode、errors.As 与 ParseHTTPErrorResponse 说明如何分类,并把判断接到日志、重试和异步收尾。485 收藏 -
GitHub 公布推送归属 limited public preview:每个提交会附带经认证的 pusher 身份,并可用 Committer must match pusher 规则限制身份伪造。485 收藏 -
从 go.mod、go.work 和 GOTOOLCHAIN 三个入口理解 Go toolchain 自动选择,说明 go 与 toolchain 的区别,以及 local、auto、path 和固定版本模式的取舍。485 收藏 -
Go 新循环变量语义改变了 loopclosure 诊断。区分循环声明与外部赋值变量,用显式参数绑定任务,并说明无诊断不代表闭包或共享对象并发安全。485 收藏 -
Transformers 的 TextIteratorStreamer 可以把 model.generate 放在独立线程中,再由消费端逐段迭代生成文本。本文按线程、队列、提示词、超时和异常边界说明一套可维护的写法。485 收藏 -
PEFT 中临时禁用 adapter、移除 LoRA 模块、删除命名 adapter 和合并权重是四种不同操作。本文用 unload 返回基础模型,说明为什么必须接住返回值,并整理多 adapter 与 Notebook 重跑时的排查边界。485 收藏 -
Go 的 crypto/mlkem 把 ML-KEM 密钥分成私有的 DecapsulationKey 和公开的 EncapsulationKey。本文说明 GenerateKey、Bytes、New*Key 的对应关系,并整理 768/1024 参数集的序列化长度与工程基线。484 收藏 -
Go http.Client 可以在 CheckRedirect 中读取 via 请求链并设置跳转上限。本文区分重定向次数与请求总数,说明普通错误和 http.ErrUseLastResponse 对 Response、Body 和 url.Error 的不同影响。484 收藏 -
Go 的 weak.Pointer 不会阻止对象回收,但 finalizer 会临时复活对象。本文说明旧弱指针为何在 finalizer 排队时失效,以及如何通过禁止强引用逃逸、改用 runtime.AddCleanup、按缓存未命中重建对象来消除复活风险。483 收藏 -
Java record 序列化不是普通 Serializable 类的缩小版。本文说明组件如何进入序列化流、canonical constructor 如何参与反序列化,以及新增删除组件、record 与普通类互转时如何设计兼容边界。483 收藏 -
reflect.VisibleFields 会把匿名嵌入结构中的可见字段和未导出字段一起返回,真正的导出筛选要交给 StructField.IsExported。本文用一个包含嵌入结构的例子说明如何保留提升字段、处理 Index,并封装成可复用函数。483 收藏