Go教程技术文章
-
用 os.Root 把文件操作限制在指定目录内,再通过 Root.Link 的两个相对路径参数创建同一文件的硬链接,并梳理符号链接源文件、路径越界和 GOOS=js 的边界。229 收藏 -
用 runtime/pprof.Labels 和 pprof.Do 给 goroutine 建立低基数标签作用域,区分 WithLabels、SetGoroutineLabels 与 profile 观察边界,并说明 CPU 与 goroutine profile 的适用范围。306 收藏 -
go tool pprof 的 -http 参数可以显式指定 Web 界面的 host:port。本文用实际调试场景区分 profile 数据源与界面监听地址,并说明 127.0.0.1、0.0.0.0、固定端口和随机端口的取舍。471 收藏 -
go tool trace 默认通过本地 HTTP 服务打开 trace viewer。本文解释 localhost:0、:6060、127.0.0.1:6060 和 0.0.0.0:6060 的差别,给出限制在本机回环接口的命令写法。245 收藏 -
通过一个Go事件分类器区分go test -json的普通输出、框架文本与多行报错,保留包和测试归属,并说明CI应独立传递测试退出状态。470 收藏 -
Go 1.27 起,go test 默认启用 stdversion vet 检查,用来发现源文件使用了高于项目语言版本的标准库符号。本文从诊断输出、单独复查到修复判断,说明怎样读懂 stdversion 结果。356 收藏 -
Go mod why 可以从主模块到目标包或模块给出最短导入路径。本文说明测试代码为什么会带入依赖,以及 -m、-vendor、go mod graph 怎样配合定位来源和版本关系。294 收藏 -
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 收藏