Go语言技术文章
-
通过可取消的四模式实验区分Go channel接收阻塞、nil通道和关闭状态,结合通道身份、发送路径与等待关系排查,并说明超时、len和goroutine栈能证明的范围。366 收藏 -
Kubernetes 1.34 发布公告包含 58 项增强,但真正影响升级决策的不是功能数量,而是成熟度、弃用移除、组件兼容和回退路径。本文用运维手册的方式拆解发布说明,给出一份可落地的升级评估清单。366 收藏 -
零售门店记录贵重商品盘点差异时,应把商品身份、账面数、实盘数、差异原因、复核依据和处理结果放在同一条记录中,并按盘点批次归档。本文给出适合小门店执行的记录字段和闭环方法。366 收藏 -
Go ast.FieldList.NumFields 统计参数或字段数量,List 长度统计声明组节点。本文用分组参数解释差值,说明匿名项、空列表和可变参数的计数语义,以及静态分析工具的调整方式。366 收藏 -
Go os.CreateTemp 可以用随机文件名安全创建临时文件,但关闭文件和删除路径仍由调用方负责。本文说明目录参数、星号模式、扩展名保留、错误处理,以及单文件和临时目录的选择。365 收藏 -
说明Go cgo中GoString与GoStringN的选择,用完整示例区分NUL文本和带长度数据,讲清复制、C内存释放责任、内嵌零字节与编码边界。365 收藏 -
用 Go 的 image.Point.In 判断坐标是否属于 image.Rectangle,理解左闭右开边界、非零起点和空矩形,并把判断接入点击与裁剪处理。365 收藏 -
Go ast.Inspect 不负责关闭文件或清理节点缓存。本文用短作用域计数示例说明资源所有权,区分 AST 引用保留与文件句柄问题,并解释回调返回 false、收到 nil 的真实含义。365 收藏 -
Go mime/multipart.Reader 读取不到字段或文件时,先检查 Content-Type 中的 boundary 和请求体是否已被消费,再选择 NextPart 或 ReadForm。本文用一个最小 HTTP 示例说明流式读取、io.EOF、部件消费和模式混用的排查方法。365 收藏 -
Redis CLUSTER BUMPEPOCH 只推进连接节点的配置纪元,不负责槽位迁移或故障转移。本文用 CLUSTER INFO、CLUSTER NODES 和新节点前提说明何时可考虑、何时必须停手。364 收藏 -
用 Go unique.Make 将可比较字符串规范化为 unique.Handle,解释句柄比较、Value 取值、并发安全和不适用场景。364 收藏 -
Go hash.Hash.Sum 会把当前摘要追加到传入切片末尾,不会覆盖已有前缀,也不会改变哈希状态。本文说明 dst、len、cap 与 Size 的关系,并给出安全的摘要追加写法。364 收藏 -
Go os/exec 的 Cmd.ProcessState 只能在子进程成功启动并完成 Run 或 Wait 后读取。本文比较 Run 与 Start 加 Wait,说明怎样区分启动错误、非零退出和成功退出,并用 ExitCode、Success、Exited 处理状态边界。363 收藏 -
strings.CutSuffix 返回去掉后缀后的字符串和 found 标志。后缀未命中时返回原字符串与 false;空后缀是一个特殊的命中场景,返回原字符串与 true。本文用最小写法和业务封装说明如何把两种情况分开处理。363 收藏 -
Redis ZPOPMAX 会从有序集合中取出并删除最高分成员,适合把 sorted set 当作优先级队列。本文说明 key、count、批量返回顺序、Go 客户端读取和业务确认边界。363 收藏