Go教程技术文章
-
pkg.go.dev v1 API 默认不返回完整文档与许可证列表。本文用 Go 构建批量汇总工具,说明 doc、licenses、module、version 参数,归并可再分发许可与文档状态,并处理路径歧义、429 限流和人工复核边界。136 收藏 -
pkg.go.dev 的正式 JSON API 可把 Go 包导入路径解析为 modulePath,再分页读取该模块的版本集合。本文给出 curl 与 Go 标准库实现,并说明路径歧义、跨主版本、伪版本、撤回标记、分页令牌和限流的处理方法。394 收藏 -
用 Go archsimd 实现 16 字节查找,拆解 amd64 的 PermuteOrZero 与 arm64/wasm 的 LookupOrZero 差异,并补齐构建标签、尾部处理和能力边界。414 收藏 -
本文用 Go 1.27 实验性 simd 包实现 float32 最小—最大归一化:标量求 min/max,向量完成减法与除法,并处理尾部、常量数组和 NaN。332 收藏 -
用 Go 1.27 实验性 simd API 把 RGBA 像素整理为 uint32 向量,批量调整 RGB、保留 Alpha,并正确处理尾部像素与架构回退。478 收藏 -
Go 1.27 让 go test 默认启用 stdversion 检查。本文说明它如何依据 go.mod 与构建标签识别过新的标准库调用,并给出升级与 CI 中的处理边界。311 收藏 -
Go 服务处理外部请求时,先把字符串和默认值归一化,再统一执行字段与跨字段校验,最后将结构化错误返回给调用方。本文用请求结构体演示这条边界如何设计。172 收藏 -
用 Go 1.27 的 goroutineleak profile 给集成测试增加可留存的并发泄漏证据,掌握 pprof 入口、测试采集、结果解读与 CI 边界。190 收藏 -
Go 1.27 提供 goroutineleak profile。本文以 HTTP 服务为例,说明如何采集基线、比较增长差异、定位阻塞通道,并用可取消的退出路径完成修复。101 收藏 -
Golang · Go教程 | 1星期前 | goroutine · go · pprof · 后台任务 net/http/pprof goroutineleak go tool pprof Go goroutine 泄漏剖析
用一个会遗漏 Stop 的最小后台 worker 复现 goroutine 泄漏,采集 Go 1.27 的 goroutineleak profile,定位阻塞代码并完成生命周期修复与复查。306 收藏 -
Golang · Go教程 | 1星期前 | JSON · go · 兼容性 · encoding/json/v2 未知字段 jsontext.Value MarshalerTo UnmarshalerFrom
encoding/json/v2 可用 json:",embed" 将未知成员收进 map[string]jsontext.Value。实现自定义 MarshalerTo 时必须在线形态中显式携带该回退字段,本文对比三种方案并给出可复用的成对编解码实现。318 收藏 -
Go 1.27 的 encoding/json/v2 可以通过 jsontext.Decoder 和 UnmarshalDecode 逐个读取连续的顶层 JSON 值。本文用完整 Go 示例说明 io.EOF 收尾、语法与语义错误边界,并比较单值 Unmarshal、v1 Decoder 与 JSON 数组的选择。269 收藏 -
encoding/json/v2 可用字段标签收窄调用级默认行为。本文通过小项目演示 string、omitempty、omitzero 与 case 选项的优先级、适用方向和测试方法。418 收藏 -
通过 Batch[T] 的 Filter、Clone 和 Map[U] 示例,说明泛型方法怎样直接复用接收者已有的 T、自动继承原约束,并判断何时才需要声明新的方法类型参数 U。417 收藏 -
Go 1.27 支持具体类型声明泛型方法。给 Page[T] 增加 Map[U] 后,可把分页元素从模型类型映射为 DTO 类型,编译器负责推断与检查,同时统一保留总数、页码和页大小,并把转换错误明确返回。402 收藏