摘要: Go 1.25 于 2025 年 8 月发布,核心变化集中在并发测试简化、容器感知调度,以及实验性 GC 与 JSON v2。下面按实用程度梳理。 一、testing/synctest 正式转正 1.24 的实验特性在 1.25 正式可用。它通过虚拟化时间来测试并发异步代码:原本依赖 time.Sl 阅读全文
posted @ 2026-11-02 09:30 sunlon 阅读(7) 评论(0) 推荐(0)
摘要: Go 1.26 于 2026 年 2 月发布,核心变化集中在语言层两个便利性改进、Green Tea GC 转正,以及go fix 全面重写。下面按实用程度梳理。 一、new 函数支持表达式初始值 以前给指针一个初始值需要两步,现在一步完成: // 旧写法 x := int64(300) ptr : 阅读全文
posted @ 2026-11-01 21:31 sunlon 阅读(8) 评论(0) 推荐(0)
摘要: Go 1.27 于 2026 年 8 月发布,核心变化集中在三处:语言层终于支持泛型方法、标准库新增 encoding/json/v2 与 uuid、运行时加入 goroutine 泄漏检测。下面按“能立刻用上”的顺序带你过一遍。 一、泛型方法:方法终于可以有自己的类型参数 这是 Go 1.18 引 阅读全文
posted @ 2026-11-01 21:21 sunlon 阅读(8) 评论(0) 推荐(0)
摘要: 本篇目标:从"会写代码"走向"能维护项目"。前五篇让你能写出功能正确的程序,这一篇补上让它可靠、可扩展、可交付的部分。 一、测试 Go 把测试做进了工具链,写测试几乎零成本。测试文件以 _test.go 结尾,与被测代码同包: // calc.go package calc func Add(a, 阅读全文
posted @ 2026-11-01 21:03 sunlon 阅读(5) 评论(0) 推荐(0)
摘要: 本篇目标:掌握 Go 最被称道的语言级并发能力。核心哲学一句话:不要通过共享内存来通信,而要通过通信来共享内存。 一、goroutine 在函数调用前加 go,就在新的 goroutine 中运行。它是运行时管理的轻量级线程,创建成本极低,开几万个也没问题: func say(s string) { 阅读全文
posted @ 2026-11-01 20:32 sunlon 阅读(2) 评论(0) 推荐(0)
摘要: 本篇目标:理解 Go 没有继承的世界里怎么做抽象,以及错误如何流转。这两件事决定了 Go 代码的"性格"。 一、接口与隐式实现 接口是一组方法签名。关键规则:一个类型不需要声明"我实现了某接口",只要方法集匹配,它就自动满足。 type Speaker interface { Speak() str 阅读全文
posted @ 2026-11-01 20:30 sunlon 阅读(2) 评论(0) 推荐(0)
摘要: 本篇目标:用 Go 的方式组织数据。这三种类型是日常代码的绝对主力,理解它们的底层行为能避开大量坑。 一、数组 vs 切片 数组长度固定,是值类型,赋值即复制: var a [3]int // [0 0 0] b := [3]int{1, 2, 3} 切片是日常主力,长度可变,底层是"指针 + 长度 阅读全文
posted @ 2026-10-31 17:54 sunlon 阅读(3) 评论(0) 推荐(0)
摘要: 本篇目标:掌握日常编码离不开的基础构件。Go 语法看起来"反直觉"的地方,背后都有一致性考量,讲清楚比死记更重要。一、变量声明三种写法:var name string = "Gopher" // 完整 var age = 30 // 类型推断 count := 42 // 短声明,仅函数内可用 零值 阅读全文
posted @ 2026-10-31 15:44 sunlon 阅读(4) 评论(0) 推荐(0)
摘要: 一、安装 Go 从 go.dev/dl 下载安装包(macOS 可 brew install go)。验证: $ go version go version go1.22.0 go env 查看配置,初学只需知道 GOPATH(工作目录)和 GOMODCACHE(依赖缓存),默认即可。 二、第一个程 阅读全文
posted @ 2026-10-31 04:34 sunlon 阅读(3) 评论(0) 推荐(0)