Go教程技术文章
-
用 Go http.Client、Transport 和 context 拆分连接、TLS、响应头与整体请求超时,配合错误定位和连接池清单完成可维护配置。371 收藏 -
Go crypto/x509 CertPool.AddCertWithConstraint 可以把自定义约束绑定到某个根证书。本文用租户域名场景说明如何读取 Verify 传入的整条证书链、拒绝不符合范围的链,并处理回调并发与验证边界。371 收藏 -
本文说明 Go http.Request.BasicAuth 的三个返回值,演示如何区分认证头解析成功与账号校验通过,并整理 401、HTTPS、WWW-Authenticate 和日志脱敏边界。371 收藏 -
Go netip.Prefix.IsValid 同时判断地址是否已初始化、前缀位数是否符合 IPv4 或 IPv6 范围。本文用一个小工具区分零 Prefix、0.0.0.0/0、非法位数和有效但未掩码的前缀。371 收藏 -
用 Go go-shp 把点坐标写成 Shapefile 文件组,说明 POINT Writer、DBF 字段、几何记录与属性行的对应关系,并提醒 .prj 坐标参考需要单独管理。371 收藏 -
用 Go bufio.Reader.Peek 判断固定字节边界,区分完整输入、提前 EOF、ErrBufferFull 和底层读取错误,并给出安全消费与审计清单。371 收藏 -
Go hash/crc32.MakeTable 可以把自定义 CRC 多项式转换成可复用的校验表。本文用 CRC32-Q 说明如何一次创建、重复计算,并区分多项式表示、哈希状态与安全摘要边界。371 收藏 -
Go json.Decoder 可能预读后续协议数据。本文说明如何复制 Buffered 内容,并用 io.MultiReader 按前缀优先的顺序安全交接给下一层。370 收藏 -
用 Go errors.Join 收集并发任务错误,结合 errors.Is/As 做稳定判定,并把内部聚合错误转换成可控的用户返回结果。370 收藏 -
sync.Pool 适合复用可丢弃的临时对象,但不适合保存业务状态或稳定资源。本文从对象生命周期、New/Get/Put 闭环、清空语义、容量风险和基准数据五个角度,判断一个对象是否真的值得池化。370 收藏 -
Go hash/crc64 同时提供 ISO 与 ECMA 两种预定义多项式。本文说明怎样按既有协议选择 crc64.MakeTable,如何在 Checksum、New 和 Update 之间切换,并处理分块顺序、结果字节序与非密码学边界。370 收藏 -
用embed.FS嵌入报表模板,按目录加载并复用解析结果,结合语义化HTML说明批处理分配、输出职责与模板更新边界。370 收藏 -
用一个清晰的 secret.Do 封装把密码处理函数放进机密边界,讲明输入所有权、结果复制、实验开关、panic 与平台限制。369 收藏 -
用 io.NewSectionReader 限定大文件分片范围,再通过 io.TeeReader 同时写入输出流并计算 SHA-256。本文给出边界检查、短读处理和多分片拆分的完整写法。369 收藏 -
用 io.MultiWriter 把文件与 hash.Hash 组合为一个 Writer,单次读取源流即可落盘并计算摘要;通过完整示例解释写入顺序、复制及关闭错误、缓冲与字节层选择,避免返回无效结果。369 收藏