Go教程技术文章
-
讲清 Go flight recorder 故障诊断端点的鉴权、单并发、临时文件快照、下载响应、测试与运行边界,给出可直接改造的 Handler。453 收藏 -
Go container/heap 不会自动感知元素 priority 的变化。通过维护 Item.index,并在修改后调用 heap.Fix,可以让优先队列恢复正确顺序;删除和批量变更则分别使用 heap.Remove 与 heap.Init。452 收藏 -
Go cmp.Or 会把空字符串、数字 0 和 false 都视为零值并继续回退。本文说明它的判断边界,并用 Value 与 Valid 分离的写法保留显式零值。452 收藏 -
Go regexp.Split 的 n 参数不是分隔符数量,而是返回子串数量上限。n<0 返回全部结果,n=0 返回 nil,n>0 最多返回 n 个子串并保留最后的未切分文本。451 收藏 -
Go 的 database/sql 提供了泛型 sql.Null[T] 来接收可能为 NULL 的列。本文从 Scan 指针、Valid 判断、零值区分和 driver.Value 类型边界四个方面说明可空字段的正确写法。451 收藏 -
解释 Go color.NRGBA 的非预乘存储、RGBA() 的 16 位预乘返回值,以及 draw.Over 中 Alpha 如何参与混合,附固定输入的换算示例和常见边界。450 收藏 -
从虚拟根语义讲清 Go fs.Sub:如何隐藏底层目录前缀、正确校验 io/fs 路径,以及为什么 os.DirFS 加 fs.Sub 仍不能替代 os.Root 的符号链接越界防护。449 收藏 -
Golang · Go教程 | 3天前 | JSON · 流式处理 · Go教程 · 内存优化 · 内存优化 encoding/json 流式解析 json.Decoder Go JSON处理 超大JSON数组
Go 解析超大 JSON 数组时,先 ReadAll 再 Unmarshal 会同时保留输入字节和全部对象。本文使用 json.Decoder、Token、More 与 Decode 逐项处理,并补齐输入上限、结束符检查和错误偏移记录。449 收藏 -
用 Go 的 net/netip Prefix.Masked 把带主机位的 CIDR 统一成稳定网段键,并说明无效前缀、IPv4 与 IPv6 的处理边界。448 收藏 -
讲清 Go crypto/tls Config.MinVersion 的最低版本语义,比较 MinVersion 与 MaxVersion 的范围配置,并用 ConnectionState 判断实际协商结果。448 收藏 -
对比 Go strings.CutPrefix 与 strings.TrimPrefix 的返回值和适用场景,说明何时需要 found 判断、何时只需得到去掉前缀后的字符串,并补充空前缀、大小写和旧版本兼容边界。447 收藏 -
解释 Go encoding/xml Decoder.Strict=false 对缺失结束标签、异常实体和命名空间的实际影响,并说明 AutoClose、Entity 的配置边界与生产选择。447 收藏 -
介绍 Go slog.Group 如何组织 request、order、payment 等嵌套业务字段,并比较 Logger.WithGroup、LogValuer、JSONHandler 与 TextHandler 的适用方式。447 收藏 -
printer.Config 的 Indent 控制基础缩进层级,Tabwidth 和 Mode 决定制表宽度及空格策略。本文用完整 AST 示例讲清组合方式与 gofmt 边界。447 收藏 -
围绕 Go html/template 的函数注册、模板解析和数据执行三个阶段,给出可复制的错误处理写法,说明 ParseFS、ExecuteTemplate、missingkey 与 HTML 转义边界。447 收藏