Go语言技术文章
-
从证书原材料、默认验证、连接状态和会话恢复四个边界,说明 Go tls.Config.VerifyConnection 与 VerifyPeerCertificate 的选择方法和组合方式。449 收藏 -
Golang · Go教程 | 4天前 | 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 database/sql Tx 讲清异常路径统一回滚的写法:用 defer 兜底、事务内统一使用 Tx、正确处理 Commit 错误,并给出资源释放检查清单。448 收藏 -
Go 使用 os.File 更新配置或状态文件时,先在同目录临时文件中完整写入并 Sync,再关闭文件并 Rename,既避免半文件,也能清楚区分原子替换与断电持久化边界。448 收藏 -
weak.Pointer 不会让对象保持可达,但 map 中的弱键不会自动删除。本文用 Go 示例说明如何依据 Value() 返回 nil 清理失效键,并处理并发、保活和惰性扫描边界。448 收藏 -
Go net/http 中,响应 Trailer 不是普通响应头,服务端要在写出响应前声明尾部字段,客户端还要先把 Response.Body 读到 EOF 才能读取最终 Trailer。本文解释声明顺序、读取时机与为空排查方法。448 收藏 -
结构体里放入 sync.Mutex 后,按值传参、赋值或返回都会复制锁的内部状态,可能造成异常解锁、数据竞争和锁失去保护对象。本文从根因、错误写法、指针改造和 go vet copylocks 检查四个方面说明安全设计方式。448 收藏 -
对比 Go strings.CutPrefix 与 strings.TrimPrefix 的返回值和适用场景,说明何时需要 found 判断、何时只需得到去掉前缀后的字符串,并补充空前缀、大小写和旧版本兼容边界。447 收藏 -
Go 使用 sql.NullString 扫描可空文本列时,必须同时判断 String 和 Valid。本文用表格、代码和排查清单说明如何区分 NULL、空字符串与普通文本,并正确写回数据库。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 收藏