Go教程技术文章
-
Go 接入 HTTP/3 时,优先用 quic-go 的 http3.Transport 或 http3.Server;只有需要自定义 UDP、共享 socket 或多协议分流时,再接入 quic.Transport。199 收藏 -
围绕 Go bufio.Reader.Discard 说明完整跳过、部分跳过、EOF 和底层读取错误的判断方式,并给出固定字节跳过的安全封装与参数边界。199 收藏 -
从共享状态边界出发,对比普通 map 配合 Mutex、RWMutex 与 sync.Map 的适用条件,再用竞态检测、吞吐和延迟指标复查选择。198 收藏 -
在 os.OpenRoot 建立的受限目录内使用 Root.Lstat,判断路径本身是否为符号链接,并与 Root.Stat 的跟随语义做清晰区分。198 收藏 -
在 Go 中反复把字节编码为十六进制文本时,可以用 hex.EncodedLen 计算容量,再用 hex.Encode 或 hex.AppendEncode 复用目标缓冲区。本文说明 len、cap、dst[:0] 和多段追加的正确关系。198 收藏 -
解释 fs.Sub 的目录根约定与延迟访问错误,用内存文件系统示例区分路径合法性、目录属性和子树映射,并给出父目录读取与显式目录检查写法。198 收藏 -
Go reflect.Value.CanFloat 用来判断反射值能否安全调用 Float。本文区分 float32、float64、整数和无效 Value,给出带错误返回的读取函数,并说明 Float 返回 float64 时的边界与反射性能取舍。198 收藏 -
Golang · Go教程 | 1天前 | 并发 · 标准库 · Context · Go教程 · 工程实践 · Go 生命周期 后台任务 context.Context context.WithoutCancel
请求结束后仍需完成的审计、落盘或消息整理任务,不应继续绑定请求取消信号。本文从 context.WithoutCancel 的语义出发,说明如何拆分生命周期、补上独立超时,并处理资源释放与服务关闭边界。198 收藏 -
Go 中限制最低 TLS 版本,直接给 tls.Config.MinVersion 设置 tls.VersionTLS12 或 tls.VersionTLS13。本文说明默认行为、客户端与服务端写法、版本范围边界,以及如何通过 ConnectionState 读取实际协商版本。197 收藏 -
Go time.ParseInLocation 可通过有限布局列表兼容 RFC3339、本地日期时间与日期。本文给出显式默认时区、匹配标签和错误返回的原创接口,并说明小数秒、日期语义及时间戳的适用范围。197 收藏 -
区分Go pprof中的CPU样本、采集窗口与业务墙钟时间,通过原创采集示例理解flat、cum和百分比分母,说明等待与并行如何影响读数,以及何时补充trace或业务计时。197 收藏 -
Go 解析 X.509 证书后,应从 DNSNames、IPAddresses 等 SAN 字段读取名称;Subject.CommonName 只保留为主体信息,不应作为 VerifyHostname 的回退来源。197 收藏 -
Golang · Go教程 | 3小时前 | 错误处理 · 命令行工具 · Go教程 · 工程实践 · Go 错误处理 命令行参数 Cobra FlagErrorFunc SetFlagErrorFunc
Cobra 的 SetFlagErrorFunc 可以接管参数解析失败时的错误加工,但不应把原始 error 丢掉。本文从未知参数和类型转换失败的场景出发,说明注册方式、父子命令继承关系、错误返回边界,以及怎样让自动化环境中的 CLI 提示保持稳定。197 收藏 -
Go slices.Reverse 会直接交换切片中的元素,不返回新切片。本文说明它的最小用法、命名切片类型、nil/空切片边界,以及需要先复制的别名场景。196 收藏 -
Go maps.Collect 可把键值迭代器收集成新 map。以商品库存索引说明业务键清洗、重复覆盖、查询顺序与切片引用共享,并给出需要返回错误时的显式循环方案。196 收藏