Go教程技术文章
-
Go time.Time 不会保存解析错误,time.Parse 返回的 error 需要与时间值分开处理。本文用 (time.Time, error)、%w 和 errors.As 说明如何保留 ParseError、添加业务上下文,并区分零值、时区与序列化边界。228 收藏 -
Go 自建类型检查器应沿用解析阶段的 FileSet。本文用双文件示例说明声明位置、类型诊断与文件行列的对应关系,并解释复用范围及源码更新边界。228 收藏 -
Go unicode.IsMark 用于判断单个 rune 是否属于 Unicode Mark(M)类别。本文说明如何用 range 扫描字符串、记录组合附加符号的位置,并区分 IsMark、IsLetter、IsGraphic 与完整 Unicode 规范化的职责边界。228 收藏 -
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 pprof 的 CPU 采样窗口由 StartCPUProfile 和 StopCPUProfile 之间的代码区间决定。本文用一个可控的业务函数说明文件创建、错误处理、defer 顺序、重复启动边界以及 go tool pprof 的查看方式。226 收藏 -
Go strings.SplitAfterSeq 返回一次性迭代器,适合按分隔符遍历并保留分隔符所在片段。本文从日志和协议文本的输入边界出发,说明尾部片段、空分隔符、无匹配和单次迭代的处理方式。226 收藏 -
用 Go 的 utf8.RuneLen 判断单个 rune 的 UTF-8 字节宽度,说明 1 到 4 字节与 -1 的含义,并区分 RuneError、非法 rune、字符串字节数和 rune 数。226 收藏 -
Go hash/crc64.Update 接收当前 CRC64 值、同一个 Table 和一段字节,返回加入该分块后的新校验值。本文说明怎样按原顺序连续更新,并用 Checksum 对照整块结果,避免每块重置或更换 Table。226 收藏 -
Go slices.MaxFunc 适合从结构体切片中按自定义比较器挑出一条最高优先级记录。本文给出最小写法,说明比较方向、相等项、空切片 panic 和多字段决策边界。226 收藏 -
Go container/ring 的 Unlink 从当前节点之后摘除连续节点,并返回独立子环。用六节点示例说明数量取模、锚点选择、剩余长度与返回值别名,以及严格数量包装方式。226 收藏 -
Go 的 debug/elf.File.SectionByType 按 SectionType 返回第一个匹配的 ELF 区段。本文从 elf.Open 开始,说明 nil 判断、区段元数据读取、多匹配遍历和不可信 ELF 输入的资源边界。226 收藏 -
Go 的 http.Client 不会替一次性请求体自动保存可重试副本。本文说明 Request.GetBody 的作用、NewRequest 对常见 Reader 的自动处理、自定义 body 的实现方式,以及重试次数、响应关闭和幂等性边界。226 收藏