Go教程技术文章
-
用 Go select 同时等待两个输入 channel,讲清接收分支、value 与 ok 的关闭判断、两路输入汇总,以及 default 和阻塞等待的适用边界。228 收藏 -
说明 Go archive/tar.Writer 如何从 fs.FileInfo 生成 Header,保留文件模式与 ModTime,并在需要时用 FormatPAX 保存更细的时间信息。228 收藏 -
Go time.Time 不会保存解析错误,time.Parse 返回的 error 需要与时间值分开处理。本文用 (time.Time, error)、%w 和 errors.As 说明如何保留 ParseError、添加业务上下文,并区分零值、时区与序列化边界。228 收藏 -
Go 自建类型检查器应沿用解析阶段的 FileSet。本文用双文件示例说明声明位置、类型诊断与文件行列的对应关系,并解释复用范围及源码更新边界。228 收藏 -
用自定义错误承载动作、资源和底层原因,再通过 errors.As 穿过包装层提取结构化上下文,避免解析字符串或丢失错误契约。227 收藏 -
filepath.EvalSymlinks 解析后路径仍可能变化,通常与符号链接目标、当前工作目录和词法清理边界有关。本文用 Go 示例拆开这些因素,并说明路径字符串、最终目标与文件句柄应该如何分别判断。227 收藏 -
介绍 Go 1.24+ 的 http.Server.Protocols,给出 HTTP/1、TLS HTTP/2、明文 HTTP/2 的显式配置、验证命令与兼容边界。227 收藏 -
Go 的 time.FixedZone 适合固定 UTC 偏移,time.LoadLocation 适合带 IANA 规则的地区时区。本文用创建、转换和格式化示例说明两者边界。227 收藏 -
Go fitsio读取图像HDU时,需先确认HDU类型、轴长度和BITPIX,再分配匹配的像素切片。本文给出二维float32读取函数,说明输入规模、坐标索引、标定值及资源关闭。227 收藏 -
Go bloom/v3 用 NewWithEstimates 按预计元素数量和假阳性率创建 BloomFilter。本文说明 n、fp、m、k 的关系、容量预算、查询结果边界,以及并发写入和持久化时的处理方式。227 收藏 -
Go token.File.MergeLine 只合并内存中的行偏移表,不会改写源码字节。本文用最小示例说明行号范围、Lines 变化、Position 换算和非法行号 panic 边界。227 收藏 -
介绍 Go debug/pe.File.StringTable 的 COFF 字符串表偏移规则,演示如何读取字符串并用 COFFSymbol.FullName 解析短名称与长名称。227 收藏 -
Go 解析带时区字符串时,布局要使用 -07:00 或 -0700 这样的数值偏移格式。本文说明 time.Parse 如何保留原始偏移、没有时区时为什么会按 UTC 处理,以及什么时候应该用 ParseInLocation 加载业务时区。226 收藏 -
用 Go bufio.Writer.AvailableBuffer 配合 append 和 strconv.AppendInt 构造短记录,减少循环中的临时切片分配,并说明容量不足、切片生命周期、Flush 和 Go 版本兼容边界。226 收藏 -
以逗号分隔标签的规范化函数为例,用 Go Fuzz 检查编解码往返、幂等、UTF-8、排序与去重性质,并给出种子语料、运行预算和失败输入回归方法。226 收藏