Go教程技术文章
-
Go crypto/ecdh PrivateKey.Bytes 返回的是原始私钥编码副本,不是 PEM 或 PKCS#8 容器。本文用同曲线回读示例说明导出、校验、存储和敏感字节生命周期的边界。151 收藏 -
Go x/text/search 的 IndexString 返回首次匹配的字节半开区间,未命中时返回 -1,-1。本文用 UTF-8 混合文本说明 Matcher、Backwards、Anchor 与 Pattern 复用,避免把字节下标误当成字符序号。151 收藏 -
Go strings.CutPrefix 同时返回去除固定前缀后的文本与匹配标志。通过批量标识解析示例,说明空前缀、空余串、大小写、重复前缀和不匹配原文的处理,并分离前缀判断与业务校验。151 收藏 -
Rand.N 每次生成一个范围内的伪随机整数,固定数量要由切片和循环控制。本文说明泛型方法、整数上限、PCG固定种子及可复现调用条件。151 收藏 -
掌握 Go 标准库 crypto/pbkdf2.Key 的哈希、密码、salt、迭代次数和输出长度配置,完成旧版扩展包迁移时的参数核对。151 收藏 -
Go plugin 的兼容性不能只看 .so 文件是否存在。本文按 plugin.Open、Lookup、类型断言和构建环境四道门禁拆解动态符号检查,给出统一导出类型、保留错误上下文和避免运行期崩溃的原创示例。150 收藏 -
Go 的 Write 成功只表示数据已经交给文件对象,File.Sync 才负责把当前文件内容提交到稳定存储。本文用临时文件替换配置的完整顺序说明 Sync、Close、Rename 和目录项持久化的边界。150 收藏 -
Go 1.27 新增的 go/types.Hasher 为 types.Type 提供了与 Identical 一致的等价关系和哈希函数。本文说明如何接入 hash/maphash、何时选择 HasherIgnoreTags,以及为什么它适合进程内类型缓存而不适合密码学摘要或跨进程持久化键。150 收藏 -
用 gopacket/layers 构造 Ethernet、IPv4、UDP 和 Payload 层,开启长度与校验和修复,再通过 pcapgo.Writer 写入带文件头和捕获信息的离线 PCAP 文件。150 收藏 -
Go 的 cipher.NewGCMWithNonceSize 可以接收非标准长度的 nonce,但它会把长度约束带入 AEAD、报文解析和跨系统互操作。本文用一个固定报文格式说明默认构造、自定义构造与迁移代价。150 收藏 -
Go transform.Chain 按参数顺序组合文本转换器。本文用宽度折叠、字符映射和 NFC 解释顺序差异,给出字符串与流式写法,并说明错误、状态和资源归属。149 收藏 -
go-flags 可以把 INI section 和键值映射到命令参数结构体。本文从 ini-name 标签、IniParser、ParseAsDefaults、命令行覆盖和 IniError 讲清配置加载的完整写法。149 收藏 -
介绍Go NATS客户端用NewMsg、Header.Set与Add附加消息头,通过PublishMsg发送并读取单值和多值字段,区分发送成功与业务处理确认。149 收藏 -
用 Go oggvorbis 读取 OGG/Vorbis 音频的采样率和声道数,比较 GetFormat 与 NewReader 两条路径,并说明 GetLength、io.ReadSeeker、samples 和解码值数量的边界。149 收藏 -
用一个可复用的 Gate 说明 Go sync.Cond 如何让多个协程等待同一条件,并在条件成立后通过 Broadcast 一次唤醒全部等待者。149 收藏