Go语言技术文章
-
用 Go os.CreateTemp 创建临时文件时,创建、写入、关闭和删除是四个不同责任。本文给出一套保留原始错误、无论成功失败都清理文件的实践写法。103 收藏 -
Go 1.27 的可移植 simd 包在 CPU 不支持 SIMD 时会使用纯 Go 仿真实现;部分能力不足时默认降到可用向量宽度或仿真,但强制宽度可能触发 panic。103 收藏 -
下游接口少量请求只是变慢而没有失败时,可以用 Go 的 net/http 与 context 为幂等读取请求增加受控副本:设置对冲延迟、共享总截止时间,首个成功后取消其余副本,同时限制额外流量。103 收藏 -
区分标准 mask-composite 与 WebKit 旧合成语法,说明层列表、运算方向与简写重置,并提供两层 exclude 示例和限定范围的 xor 回退。103 收藏 -
使用 afero.NewReadOnlyFs 把可写的 afero.Fs 包装成只读视图,明确读取、Stat、已存在目录与创建删除重命名等修改操作的边界,并给出可回滚的注入方式。103 收藏 -
huh 表单结束后变量仍是旧值,通常是 Value 绑定了副本、变量被遮蔽,或 Run 没有完成。本文给出指针绑定、状态判断和 Key 读取的排查方法。103 收藏 -
Go toolchain 自动下载失败时,可以根据项目是否允许升级,选择 GOTOOLCHAIN=local 或 go1.x.y+path 固定本地工具链,并检查 go.mod、go.work 与 PATH 中的版本关系。103 收藏 -
使用 Go sync.OnceValue 缓存一次计算值,排查重复创建 getter、初始化阻塞与可变返回值共享问题,并说明 panic、零值和缓存生命周期的注意点。103 收藏 -
Redis淘汰策略需要同时匹配候选键范围与热点工作集。本文用假设活动缓存说明LRU、LFU、随机和TTL策略的取舍,给出配置与只读观察示例,强调热点保留不是保证,容量与回源约束仍须独立考虑。103 收藏 -
结合 CNCF 的 Subaru 案例,解释 30GB 以上 ML/CUDA 镜像为何成为 AI 训练迭代的关键路径,并拆解 Harbor、Envoy Gateway、MetalLB、GitOps 与 Argo Workflows 的分工。102 收藏 -
Golang · Go问答 | 2星期前 | HTTP · Cookie · net/http · Go问答 · cookie Go net/http CookiesNamed Request.Cookies
解释 Go Request.Cookies、CookiesNamed 和 Cookie 在同名 Cookie 请求头下的读取顺序与选择语义,给出重复值排查示例、版本边界和登录态处理策略。102 收藏 -
用 Go 1.27 的 goroutineleak profile 按创建栈聚合泄漏样本,结合 pprof top 与 list 定位阻塞源码,并说明 channel、sync 与 IO 场景的判断边界。102 收藏 -
9810海外仓货物离境后,应按是否已销售分流申报;未销售部分可先办出口预退税,后续在核算期内按实际销售结果调整,并留存销售佐证资料。102 收藏 -
Go 1.27 的 goroutineleak 剖析没有业务标签时,仍可从永久阻塞的操作栈回溯到调用者和 goroutine 创建点。本文给出 pprof 接入、采集、定位与修复方法。102 收藏 -
Golang · Go问答 | 1星期前 | 错误处理 · Context · 并发编程 · go语言 · Go context context.Cause 取消原因 WithCancelCause CancelCauseFunc
context.Cause 返回父级原因,是因为父级取消会向子级传播,而子级或任一父级的首次取消会固定该子级的 cause。本文用两种取消顺序说明 Err、Cause、超时和 WithoutCancel 的边界。102 收藏