Go教程技术文章
-
用 Go 1.22 之后的 net/http ServeMux 方法模式注册 GET、POST 路由,说明 HEAD 特例、405 响应、匹配优先级和版本兼容边界。347 收藏 -
用 Go strings.LastIndexByte 定位最后一个 ASCII 路径分隔符,拆出父路径和末段,处理未找到、根路径、末尾分隔符、UTF-8 字节偏移和多种分隔符的 API 选择。347 收藏 -
介绍 Go unicode/utf8.AppendRune 的函数契约、已有 []byte 缓冲区追加方式、返回切片要求和非法 Rune 替换为 utf8.RuneError 的处理边界。347 收藏 -
从滚动日志窗口的实际场景出发,解释 slices.Clip 如何把切片容量收紧到长度,说明它与 slices.Clone、底层数组和 GC 回收之间的边界。346 收藏 -
Go 的 Cmd.WaitDelay 用来限制子进程退出后 I/O 管道迟迟不关闭造成的 Wait 阻塞。本文用一个可运行的小实验拆开超时、管道关闭和退出状态的关系,并给出安全的错误判断方式。346 收藏 -
用 Go 和原生前端表单搭一套可恢复的重复提交处理:客户端按钮状态负责体验,服务端幂等键负责最终一致,超时后通过查询接口确认结果。346 收藏 -
Go 1.27 新增 strings.CutLast,适合把最后一次分隔符查找与切分写成一次调用。本文用路径、域名和空结果示例说明替代边界、兼容范围与测试方法。346 收藏 -
讲清 Go time.Timer Reset 返回值的真实含义,比较 Go 1.23 前后的通道语义,并给出单 goroutine、旧版本排空和发布检查的实用写法。346 收藏 -
通过 encoding/csv.Reader 的 ReuseRecord 复用字段切片,介绍流式 CSV 读取中的即时处理、表头跳过、记录复制和分配基准边界,避免把可复用切片错误地交给异步任务或长期缓存。346 收藏 -
Go 的 pem.Block.Headers 用 map[string]string 表示 PEM 外层的可选键值头部。本文通过 Encode 和 Decode 示例说明如何保存、读取自定义元数据,并处理空头部、重复键和编码失败等边界。346 收藏 -
用 Gonum mat.SVD 分解矩阵,读取降序奇异值,并通过 rcond × 最大奇异值的相对阈值估计有效矩阵秩,同时说明分解失败、尺度变化与后续求解的边界。346 收藏 -
用 Go 1.23 的 maps.DeleteFunc 批量清空 map,理解保留容器、别名可见性、nil map、容量与并发访问之间的边界。345 收藏 -
Go 的 FlagSet 能为每个子命令建立独立参数空间。本文通过 ContinueOnError、纯解析函数和表驱动测试,讲清命令分派、错误输出与业务执行如何解耦。345 收藏 -
Go JSON API 客户端重试不能只靠循环。本文用 net/http、context 和 JSON 字节重建请求,划分网络错误、429/5xx、4xx 与副作用请求的边界,并限制尝试次数、总超时和退避时间。345 收藏 -
围绕租户订单查询,讲清Badger前缀键设计、Seek定位和循环范围,给出复制键值、关闭迭代器及处理空结果与读取错误的Go写法。345 收藏