Go教程技术文章
-
Go os.Geteuid 返回当前进程的有效用户 ID。本文用一个跨平台示例区分有效 UID、真实 UID 与有效组 ID,说明 Unix 与 Windows 的返回差异,并解释为什么它不能单独充当权限授权依据。306 收藏 -
在批处理拼接长字符串时,先按字节估算固定文本、记录和分隔符的总量,再调用 strings.Builder.Grow 预留容量。本文用一个可复用示例说明 Len、Cap、String、Reset 与 UTF-8 估算边界。306 收藏 -
Go unique.Make 可将重复字符串表示为可比较句柄,并通过 Value 恢复文本。本文给出标签计数最小示例,说明相等关系、回退路径与缓存边界。306 收藏 -
使用goquery Clone隔离文章子树修改,说明Remove返回值、Find匹配范围和CloneDocument区别,给出保留原文档的完整Go示例。305 收藏 -
Go time.Duration 以纳秒整数保存时间间隔,Microseconds 返回 int64 微秒数。本文说明正数、负数和不足一微秒时的向零截断边界,并给出计时与超时判断中的使用方式。305 收藏 -
使用Go oggvorbis读取Vorbis注释头,解析TITLE、ARTIST、ALBUM等曲目字段。示例保留重复值与完整文本,说明接口选择、缺失标签、文件资源及输入位置的处理边界。305 收藏 -
Go 1.24 的 runtime.AddCleanup 可以为对象注册异步清理回调。本文从资源包装场景出发,说明参数关系、回调触发条件、KeepAlive、Cleanup.Stop 以及显式 Close 的边界。304 收藏 -
Go x/text/unicode/norm.Iter 会把输入按目标 Unicode Form 规范化,并按可独立处理的边界返回片段。本文用 Go 示例说明 InitString、Done、Next、Pos 和 Seek 的配合,以及组合字符和字节偏移的注意事项。304 收藏 -
本文围绕 Go crypto/cipher.NewGCMWithRandomNonce,说明如何让 Seal 自动生成并携带随机 nonce,再由 Open 自动提取 nonce 完成 AES-GCM 解密,并整理版本、密钥和密文长度边界。304 收藏 -
go-diff 的 []Diff 适合在内存中查看,但传输或落库时可以用 DiffToDelta 编成紧凑文本。本文说明 delta 的三类 token、原文基准、Unicode 字符计数,以及如何还原并判断这种存储是否真的节省空间。304 收藏 -
Go runtime/asan 实际对应 go build -asan 与 AddressSanitizer 的协作入口,适合排查 cgo 连接的 C/C++ 内存问题。本文说明构建方式、报告阅读、泄漏开关和平台限制。304 收藏 -
Goja 执行 JavaScript 后,可以使用 Runtime.ExportTo 将对象直接导出到 Go 结构体;本文说明字段映射、嵌套对象、数组和错误处理的写法。303 收藏 -
Go go-toml v2 自定义 TOML 解码的完整做法:实现 unstable.Unmarshaler、启用 Decoder 接口,并处理嵌套表、默认值和业务错误边界。303 收藏 -
读取请求体、文件或消息流时,直接调用 io.ReadAll 会一直读到 EOF。本文用 io.LimitReader 设置最大读取范围,再用一字节探测区分正常结束、刚好达到上限和真正超限。303 收藏 -
Go ReverseProxy改写请求头需要区分Director与Rewrite、目标URL与HTTP Host。本文给出固定上游的原创示例,说明转发元数据的重建和继承边界,并归纳迁移时的选择规则。303 收藏