Go语言技术文章
-
Go 的 crypto/ecdsa Sign 不会把摘要长度简单地强制要求为曲线阶长度;摘要过长时会按曲线阶位数截断。本文用一个小型签名器说明如何显式检查、调用 Sign 并配套验证。319 收藏 -
Go humanize 的 BigComma 可以把 math/big.Int 转成带千位分隔符的十进制文本。本文从超出 int64 的字符串解析开始,说明正负数、零值、解析错误和 BigCommaf 的适用边界。319 收藏 -
Go 的 os.MkdirAll 创建目录失败时,问题通常不在 0750 或 0777 本身,而在父目录搜索/写入权限、运行身份、只读挂载或 umask。本文按 PathError 定位受限环节,并给出更稳妥的修复顺序。319 收藏 -
说明go-diff的DiffTimeout为何同时影响搜索期限与half-match启发式,并通过比较示例区分文本重建、编辑量、可读性和调用耗时。319 收藏 -
Go gopacket 的 CaptureLength 是实际读入的字节数,Length 是原始报文长度。本文用 CaptureInfo、PacketMetadata 和 pcapgo Reader 说明两者的关系、截断判断与代码用法。319 收藏 -
使用 Go oggvorbis 解码 OGG/Vorbis 文件时,先读取声道数,再按“目标帧数×声道数”分配 float32 缓冲区,把 Read 返回的交错样本值换算为完整音频帧后分批消费。319 收藏 -
Go bitset 枚举置位索引时,Go 1.23 及以上优先使用 EachSet 配合 range,旧版本使用 NextSet 循环;本文还说明 NextSetMany、Count、Len、空集合和并发访问边界。319 收藏 -
Go filepath.Rel 在 Windows 上已支持盘符与 UNC 共享卷名。本文用完整绝对路径封装说明同卷计算、跨卷错误、盘符相对路径与 Linux 处理 Windows 路径文本的区别。319 收藏 -
用 Go AST 读取 ast.File.Imports,解析每条 ImportSpec 的导入路径、显式别名、点导入和下划线导入,并用 FileSet 还原源码位置。319 收藏 -
用 errors.As 读取 Go encoding/csv ParseError 的 StartLine、Line、Column 和 Err,正确处理跨行引号、字段数错误与 io.EOF。319 收藏 -
说明 Go time.AfterFunc 的 Stop 返回值、回调竞态及 nil 通道边界,给出一次性取消并等待包装器,用 Context 请求退出、done 确认完成,避免把停止触发误当作终止回调。318 收藏 -
Go compress/gzip 的 Reader 会在创建或 Reset 后暴露 gzip Header。本文说明怎样读取 Header.Name、为什么文件名可能为空,以及多成员 gzip、完整读取和校验关闭的边界。318 收藏 -
Go Reader 的字节分块不保证 UTF-8 字符边界。本文给出持续使用 bufio.Reader.ReadRune 的完整示例,区分半个编码、非法字节、合法 U+FFFD 与流末尾截断,并说明批量解码的状态约定。318 收藏 -
Golang · Go教程 | 2星期前 | goroutine · HTTP服务 · pprof · Go教程 · Go goroutine泄漏 Go诊断 net/http/pprof goroutine profile pprof.Handler
用 Go net/http/pprof 暴露 goroutine 诊断入口时,关键不是把 /debug/pprof/ 直接公开,而是隔离监听器、自定义 mux、限制访问边界并记录采集动作。本文给出 goroutine profile 的最小接入方式、seconds 参数的使用边界和安全收尾清单。318 收藏 -
go doc 默认输出包或符号的文档,增加 -ex 后会把与目标绑定的可执行示例一并打印。本文从示例命名、命令参数、输出注释和常见边界说明怎样直接查看示例实现。318 收藏