Go教程技术文章
-
Go crypto/x509 CertPool 可以把 PEM 格式的自定义根证书接入 TLS 客户端或证书链验证。本文区分空池与系统池、讲清 AppendCertsFromPEM 的返回值,并给出 RootCAs 与 VerifyOptions.Roots 的配置边界。434 收藏 -
用Go go-message构建纯文本正文与CSV附件并存的邮件,说明mixed容器、部件关闭、默认编码、内存限额与邮件交付边界。434 收藏 -
说明 Go ZIP 解析、条目打开与读取阶段的错误保留,用 %w 和 errors.Join 保留原因,给出内存归档示例,并解释校验和、关闭、容量限制及错误分类边界。434 收藏 -
Go读取tar成员类型应使用Reader.Next返回的Header.Typeflag。本文比较IsDir与名称后缀,提供只读清单程序,并说明旧式标志规范化、链接、未知类型和EOF的处理。433 收藏 -
介绍 Go crypto/x509 中 NewCertPool 与 AppendCertsFromPEM 的使用边界,演示如何从 PEM 构造独立信任池,并区分追加成功和证书链验证成功。433 收藏 -
用 Go time.LoadLocation 加载 IANA 时区,再通过 ParseInLocation 正确解释不带时区的日期字符串,并说明 Parse 的 UTC 默认值、数字偏移、时区缩写和夏令时边界。433 收藏 -
介绍 Go Zap 如何使用 AtomicLevel 在运行期动态调整日志最低等级,涵盖 Core 接入、SetLevel、文本解析、子 Logger 共享和生产权限边界。433 收藏 -
Goose 默认把单个 SQL 迁移放进事务;本文说明如何用 NO TRANSACTION 让指定文件绕过事务,并处理 Up、Down、失败恢复和上线检查。433 收藏 -
Go slog.NewLogLogger 可以把 slog.Handler 接到旧式 log.Logger 接口,让暂时不能改造的 Printf、Println 和 Output 调用进入新的结构化日志链路。本文说明桥接关系、级别选择、参数边界、Handler 配置和上线检查。433 收藏 -
用固定前缀记录解析器说明 Peek 的 nil Reader、空输入、部分前缀、底层错误与正式消费,补充缓冲区不足、零长度请求和返回切片的使用期限。433 收藏 -
说明Go http.Protocols的三类协议开关,用独立服务端和客户端示例配置HTTP/1与TLS HTTP/2,并解释明文HTTP/2及代理连接边界。432 收藏 -
围绕 Go encoding/hex.Decode 的 InvalidByteError,说明如何提取非法字节、计算输入位置、区分奇数长度 ErrLength,并封装成可读的解码诊断。432 收藏 -
errors.Join 本身会为非 nil 错误建立 joinError 和精确容量的错误切片。本文说明如何在调用方预分配并复用收集空间、把 Join 推迟到边界、避免循环内重复格式化,并区分可减少的临时分配与不可省略的聚合成本。432 收藏 -
围绕 Go slices.Collect 讲清 iter.Seq 到 []E 的收集方式、空输入的 nil 结果、浅拷贝边界和错误保留方案。432 收藏 -
Go 1.23 起函数可以通过 iter.Seq 形态被 range 消费。本文说明 yield 签名、false 停止协议、资源清理和重复遍历边界。431 收藏