Go语言技术文章
-
Go net.JoinHostPort 用于把主机和端口拼成网络地址。本文说明它为什么会给 IPv6 主机自动加方括号,并覆盖域名、IPv4、空主机、zone 标识和 SplitHostPort 配合时的实用边界。434 收藏 -
Go crypto/x509 CertPool 可以把 PEM 格式的自定义根证书接入 TLS 客户端或证书链验证。本文区分空池与系统池、讲清 AppendCertsFromPEM 的返回值,并给出 RootCAs 与 VerifyOptions.Roots 的配置边界。434 收藏 -
解释 go-pretty Pager 的 PageSize 与实际数据行数、渲染行数和页数的区别,给出展示分页与业务分页的选择方法。434 收藏 -
用Go go-message构建纯文本正文与CSV附件并存的邮件,说明mixed容器、部件关闭、默认编码、内存限额与邮件交付边界。434 收藏 -
Go http.Transport 的 WriteBufferSize 控制 Transport 写入网络连接时使用的缓冲区。本文说明零值默认行为、共享 Transport 的配置方式、按连接评估内存代价,以及哪些问题不该靠调大写缓冲解决。434 收藏 -
Go 的 multipart.Part.FileName 从 Content-Disposition 的 filename 参数读取文件名,并在返回前通过 filepath.Base 去掉目录信息。本文用逐部件解析示例说明读取方式、解析失败边界和上传落盘时的安全命名策略。434 收藏 -
说明 Go ZIP 解析、条目打开与读取阶段的错误保留,用 %w 和 errors.Join 保留原因,给出内存归档示例,并解释校验和、关闭、容量限制及错误分类边界。434 收藏 -
Go runtime.SetFinalizer 不生效时,先检查对象是否仍然可达、终结器是否通过闭包重新引用对象,以及是否把 GC 当成了确定的定时器。本文按迁移视角说明显式 Close、KeepAlive 和终结器兜底的正确边界。434 收藏 -
Go 的 csv.Reader 默认按 RFC 4180 解析。遇到裸引号或未成对引号时,LazyQuotes 可以放宽规则,但也会让脏数据进入下游。本文从 ParseError、错误类型、受控入口和回溯记录说明什么时候开、什么时候拒绝。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 收藏