Go教程技术文章
-
围绕 sonyflake/v2 的 Settings 配置机器编号,说明 MachineID、CheckMachineID、位布局和扩容时的唯一性边界,帮助 Go 服务稳定生成分布式整数 ID。464 收藏 -
Write 返回成功不代表数据已经到达稳定存储。本文用 Go os.File.Sync 拆开写入、同步、关闭和文件替换的边界,给出可复用的错误处理写法。463 收藏 -
Golang · Go教程 | 2星期前 | 接口 · 标准库 · go · Go AppendBinary encoding.BinaryAppender BinaryMarshaler 二进制编码
Go encoding.BinaryAppender 的 AppendBinary 接收已有字节切片并返回追加后的结果。本文说明如何保护已有前缀、避免保存调用方缓冲区,并让 BinaryMarshaler 与追加编码保持同一语义。463 收藏 -
本文围绕 golang.org/x/tools/go/analysis 的 Pass.Reportf,说明怎样从 AST 节点或原始文件行号取得 token.Pos,并提交带源码位置的静态分析诊断。463 收藏 -
Go go-wav通过ReadInfo解析格式信息,再从Format读取采样率与声道、从SampleBitDepth读取位深。本文提供原创函数,说明错误检查、编码标识、文件关闭及格式声明与完整解码的区别。463 收藏 -
Go filepath.IsLocal 只判断路径的词法局部性,不保证符号链接、文件存在或访问权限安全。本文说明原始输入校验、Clean 与 Join 的使用顺序及业务边界。462 收藏 -
Go bytes.SplitSeq 返回 iter.Seq[[]byte],适合按分隔符逐段消费并在满足条件后提前停止。本文说明它与 bytes.Split 的差异、空分隔符和字节片段生命周期边界。462 收藏 -
Go crypto/ecdh.PrivateKey.Equal 用于判断两个私钥对象是否代表同一把 ECDH 私钥。本文说明同一曲线、类型匹配、常量时间比较和 Bytes 编码之间的边界。462 收藏 -
Go expvar 可以把自定义运行时变量以 JSON 形式暴露出来。本文用 NewInt、NewMap 和 Publish 说明怎样注册指标、挂载 Handler、处理名称冲突,并控制 /debug/vars 的生产暴露边界。462 收藏 -
讲清 Go httptrace.WroteHeaderField 观察的请求头写入边界,并给出脱敏、并发安全和 WroteRequest 配合记录的实现方式。462 收藏 -
Go encoding/json 的 Decoder 可以连续读取多个顶层 JSON 对象。本文给出可复用的 Decode 循环,区分空输入、正常 EOF、截断 JSON、语法错误和字段类型错误,并说明 InputOffset 与 More 的使用边界。462 收藏 -
用 Go 的 http.Pusher 接口断言和 Push 返回值判断 HTTP/2 服务端推送能力,并为 HTTP/1.1、客户端禁用推送和中间层降级保留普通响应路径。461 收藏 -
用 Go x/text/cases.Fold 生成 Unicode 不区分大小写的比较键,说明 String、Bytes、并发复用和不等于规范化的边界。461 收藏 -
Go 的 go/format.Node 可以把 AST 节点按 canonical gofmt 风格写入 io.Writer。本文从 parser.ParseFile 开始,说明 FileSet、节点范围、错误处理,以及 Node 与 Source 的取舍。461 收藏 -
Go go list -test -json 展示测试构建相关包信息,配合 -deps 可展开依赖包对象。说明 ImportPath、ForTest、DepOnly、测试导入字段及连续 JSON 解码的使用方式。461 收藏