Go教程技术文章
-
本文用 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教程 | 5天前 | goroutine · go · pprof · 后台任务 net/http/pprof goroutineleak go tool pprof Go goroutine 泄漏剖析
用一个会遗漏 Stop 的最小后台 worker 复现 goroutine 泄漏,采集 Go 1.27 的 goroutineleak profile,定位阻塞代码并完成生命周期修复与复查。306 收藏 -
Golang · Go教程 | 5天前 | 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 收藏 -
Go 1.27 支持方法声明自有类型参数。本文用 Box[T] 和 Map[U] 完成容器链式转换,并说明类型推断、接口与旧版本兼容边界。419 收藏 -
用 Go embed.FS 把 SQL 迁移文件编译进二进制,按版本稳定排序,并通过 schema_migrations 与事务安全执行。293 收藏 -
用 Go 的 fs.FS 抽象统一前端资源访问,开发期读取本地目录,发布期切换到 embed.FS,兼顾热更新、路径安全、缓存和测试。275 收藏