Go教程技术文章
-
Go time.AfterFunc 返回的 Timer 可以用 Stop 取消尚未启动的回调。本文按 Stop 的 true、false 两种结果说明取消窗口与竞态边界,并给出需要等待回调结束时的显式同步写法。264 收藏 -
用 httputil.DumpRequestOut 导出 Go 客户端请求的脱敏元数据视图,隔离 URL、Header 和共享 Body,说明离线测试、敏感字段处理与真实传输的差异,全程无需读取业务响应。264 收藏 -
Go context 没有直接合并多个取消来源的通用函数,可以用派生的 WithCancelCause 作为汇合点,再用 AfterFunc 转发第二个来源。本文说明取消原因、清理函数、旧版本降级和 goroutine 回收边界。264 收藏 -
Go 通过 Lookup 与 WriteTo 读取 goroutineleak profile,可按用途选择文本或二进制输出。本文提供错误处理与文件保存示例,说明 Go 1.27 版本变化、空结果限制和受控诊断入口的边界。264 收藏 -
Go 1.24 起可以用 os.Root 把文件操作约束在指定目录树内。本文用一个上传目录示例说明 OpenRoot、Root.Open、Root.OpenFile 的相对路径用法,以及软链接、关闭和平台边界。264 收藏 -
Go archive/tar 的 Header.Xattrs 会被写成 PAX 的 SCHILY.xattr.* 记录。本文用一个紧凑示例说明怎样显式选择 PAX、怎样处理 PAXRecords 覆盖关系,以及键名和资源关闭的边界。264 收藏 -
Go go tool nm 可以列出目标文件、归档或可执行文件中的符号。本文解释地址、类型、名称三列输出,并用排序、类型参数和命令行过滤快速定位目标函数。264 收藏 -
Go Testify 的 mock 期望遇到复杂请求结构体时,不必比较全部字段。本文用 MatchedBy 只匹配用户编号、动作等业务关键字段,并拆解值类型、指针、nil 与函数签名边界。264 收藏 -
Go 的 ed25519.PrivateKey.Public 会返回对应的 crypto.PublicKey。本文说明如何把它安全地断言为 ed25519.PublicKey,理解 64 字节私钥中的公钥后缀,并区分公钥派生、种子恢复与重新生成密钥。264 收藏 -
用 fmt.Formatter 为批处理记录定义稳定的格式化输出,正确读取 verb、flags、width 和 precision,并通过直接写入 fmt.State 减少临时字符串;同时避开 Format 递归和过度优化。264 收藏 -
time.LoadLocation 读取的是 IANA 时区数据库,不是简单的小时偏移。本文说明 ZONEINFO、系统时区目录、GOROOT 与 time/tzdata 的关系,并给出精简容器中的错误处理和部署选择。263 收藏 -
解释 Go database/sql 中 Rows.Next 返回 false 的两种原因,给出 Rows.Err 的标准收口写法,并覆盖 Scan、上下文取消、Close 与多结果集的错误边界。263 收藏 -
使用 Kong MapperFunc 和 TypeMapper 注册自定义区间参数,介绍 Scanner 取值、反射赋值、NamedMapper 与字段级绑定,并说明错误处理及语法兼容。263 收藏 -
Go Paho MQTT Go 的 OnConnectHandler 会在首次连接和自动重连后调用。本文把业务订阅集中到一个恢复函数中,说明 SubscribeMultiple、CleanSession、ResumeSubs 和异步 token 的边界,避免重连后消息悄悄中断。263 收藏 -
介绍Go strconv.Quote生成可复制字符串字面量的写法,通过特殊字符与Unquote示例区分值和展示层,补充ASCII输出、缓冲追加及目标语法边界。263 收藏