Go教程技术文章
-
Go jsontext.Encoder.WriteToken 适合按 token 增量构造合法 JSON。本文用对象、数组和字段值示例说明调用顺序、语法错误边界,以及 WriteToken 与 WriteValue 的选择。211 收藏 -
go doc 默认输出包或符号的文档,增加 -ex 后会把与目标绑定的可执行示例一并打印。本文从示例命名、命令参数、输出注释和常见边界说明怎样直接查看示例实现。318 收藏 -
Go testing/synctest.Wait 会等待当前 bubble 内其它 goroutine 进入 durably blocked 状态。本文从最小并发测试、context 取消和虚拟时间三个场景说明它的用法,并梳理外部 I/O、bubble 外 goroutine 与死锁边界。169 收藏 -
Go testing/synctest.Sleep 把虚拟时间推进和气泡内等待稳定合并到一起。本文用一个时间驱动的 channel 示例,说明怎样在 synctest.Test 中快速测试延迟逻辑、避免同一时长竞争,并处理调用边界。316 收藏 -
Go 1.27 的实验性 SIMD API 分成可移植的 simd 与架构相关的 simd/archsimd。本文结合 Float32s、Float32x4、ToArch 和 FromArch,说明两层 API 的能力边界、构建开关、转换方式和公共接口风险。132 收藏 -
介绍Go simd实验开关与工具链要求,以整数切片加偏移示例说明向量长度、广播、整组加载和尾部有效数据写回,并用构建约束保留普通实现。283 收藏 -
使用 github.com/google/uuid 时,无效 UUID 要看 Parse 返回的 error,零值 UUID 要与 uuid.Nil 比较。本文按解析、格式和业务边界说明三种结果如何区分。365 收藏 -
Go 标准库 uuid.NewV4 可以生成版本 4 UUID,再按下游类型选择 String、MarshalText 或 AppendText 转成文本。本文用一个最小请求 ID 项目说明三种出口、错误边界和接入检查点。380 收藏 -
讲清 Go crypto/mldsa NewPrivateKey 如何使用严格长度的种子恢复可复现私钥,并说明参数集、错误处理和生产保管边界。181 收藏 -
Go jsontext.Decoder 可以把 JSON 当作 token 流读取,不必先反序列化成 Go 对象。本文从语法层和对象层的区别讲起,演示 ReadToken、PeekKind、ReadValue、输入偏移量和嵌套边界的使用,说明流式筛选时如何控制读取粒度与错误处理。342 收藏 -
Go encoding/json/v2 的 UnmarshalRead 面向单个顶层 JSON 值,不能直接当作多值流循环入口。本文用 jsontext.Decoder 与 UnmarshalDecode 逐个读取 Reader 中的 JSON 对象,并说明 io.EOF、数组封装和错误边界。457 收藏 -
Go reflect.Value.Equal 适合在反射代码中比较两个 Value:无效值彼此相等,接口值比较内部值,类型不同返回 false;同类型不可比较值会 panic。本文用最小示例说明这些边界和安全写法。145 收藏 -
Go slices.IsSortedFunc 接收自定义比较器,判断结构体切片是否按照指定的升序规则排列。本文用分数和名称的复合排序说明比较器约定,并梳理相等项、空切片、逆序项以及与旧 sort API 的边界。460 收藏 -
Go cmp.Or 从多个同类型候选值中返回第一个非零值,适合组织请求值、环境值和默认值的回退链,也能组合多级排序比较结果。本文说明其用法、零值边界与验证方式。385 收藏 -
Go 1.21 引入的 slices.IndexFunc 可以按自定义谓词查找切片中首个有效值。本文从手写循环迁移到标准库 API,说明谓词设计、首个命中、空切片和 -1 结果的判断边界。362 收藏