Go教程技术文章
-
pkg.go.dev API 可以直接返回 Go 模块的最新带标签版本。本文用 module、versions 两个接口和 Go 客户端示例,说明如何读取 version、isLatest,如何区分指定版本、main/master 分支和版本列表。170 收藏 -
多模块仓库运行 go fix 时,关键是把 module 根目录和包模式分开确认。本文用 go list、go -C、-diff 和 git diff 组成一套只改指定模块的安全流程。101 收藏 -
Go 的 //go:fix inline 不会盲目把带副作用的实参替换进函数体。源码级内联器会分析求值顺序和次数,必要时保留显式参数绑定。本文用原创示例说明风险、工具策略与迁移验收方法。275 收藏 -
Go 1.26 的 //go:fix inline 可让库作者把旧 API 的兼容包装函数转成自动迁移规则。本文用改名与参数重排示例说明声明方式、go fix -diff 预览、批量执行和回归检查。347 收藏 -
介绍 Go 1.27 goroutineleak profile 的接入方式、持续采样口径和检测边界,帮助定位永久阻塞的 goroutine 泄漏。165 收藏 -
Go 接收外部 JSON 后,先规范化再一次收集字段错误,能让接口边界更稳定。本文用标准库重组一套可复用的输入处理方式,并说明什么时候值得生成 JSON Schema。460 收藏 -
用 goroutine 与 goroutineleak profile 对照数量趋势和阻塞栈,区分 Go 中正常长期存活的 worker 与真正无法唤醒的 goroutine 泄漏,并给出修复后的复测方法。426 收藏 -
用 Go 1.27 的 goroutineleak profile 按创建栈聚合泄漏样本,结合 pprof top 与 list 定位阻塞源码,并说明 channel、sync 与 IO 场景的判断边界。102 收藏 -
本文用同一 Dot API 演示 Go SIMD 与标量实现如何通过构建约束共存,并用强制模拟配置验证回退结果与尾部处理。110 收藏 -
Go 的实验性 simd API 不把向量宽度写进类型。本文说明如何用 Len 动态分块,并用 Part 接口正确处理不足一个向量的切片尾部。485 收藏 -
用 Go 1.27 实验性 simd API 编写跨 amd64、arm64 与 wasm 的向量代码,覆盖向量长度、尾段处理、模拟路径和 archsimd 适配边界。387 收藏 -
Go 1.27 支持具体类型声明带自身类型参数的方法,但接口方法仍不能声明类型参数,泛型方法的某次实例化也不会进入类型的方法集。本文给出普通接口方法、泛型函数和适配器三种组合方式。201 收藏 -
解释 Go 泛型接收者参数与方法自身类型参数的区别,说明 List[E]、Pair[First, _] 和 Map[R] 的声明位置、参数映射与 Go 1.27 的接口边界。228 收藏 -
Golang · Go教程 | 2星期前 | 标准库 · JSON · go语言 · 后端开发 · Go JSON反序列化 encoding/json/v2 MatchCaseInsensitiveNames 字段名匹配
Go encoding/json/v2 默认按大小写精确匹配字段名;本文用 MatchCaseInsensitiveNames、case:ignore、case:strict 与分隔符兼容选项,讲清调用级统一策略、字段级例外、歧义与重复名风险,并给出迁移测试清单。292 收藏 -
Go encoding/json/v2 默认拒绝 JSON 对象里的重复成员名。本文说明如何保持严格默认、避免误用 AllowDuplicateNames,并处理大小写匹配、SemanticError 与 v1 迁移回归。487 收藏