Go教程技术文章
-
列表接口从 page 改成 cursor 时,真正容易出问题的不是 SQL,而是参数语义、错误响应和旧客户端兼容。本文用 Go net/http 设计一个可灰度迁移的游标分页接口,给出返回结构、边界校验、错误码和回归检查。427 收藏 -
Golang · Go教程 | 2星期前 | Windows · 跨平台 · os · golang · 文件权限 · Windows unix Go 只读属性 os.File.Chmod FileMode
Go 的 os.File.Chmod 在 Unix 上修改权限位,在 Windows 上主要控制只读属性。本文用可运行示例说明 0o200、0o400、0o600 的平台差异、符号链接行为和跨平台验证方式。427 收藏 -
讲清 Go io.ReadFull 读取固定二进制头部时的缓冲区安排:先读定长头,再校验长度并分配载荷,区分 EOF 与 ErrUnexpectedEOF。427 收藏 -
Golang · Go教程 | 3天前 | 数据类型 · Go教程 · JSON解析 · 精度处理 · Go JSON解析 float64 json.Decoder UseNumber json.Number
Go 用 json.Decoder 解码到 interface{} 时,JSON 数字默认会变成 float64。本文演示 UseNumber 如何保留数字字面量,再按需调用 Int64 或 String,避免大整数被浮点转换。427 收藏 -
Golang · Go教程 | 1天前 | Go教程 · html/template · text/template · HTML转义 · 模板安全 · Go html/template xss text/template 模板转义
Go 的 html/template 和 text/template 接口相近,但安全边界完全不同。本文从普通字符串、HTML 上下文、纯文本输出和 template.HTML 安全类型四个角度说明选择方法,并给出迁移与测试检查清单。427 收藏 -
Go 中需要把多个文件、字符串或网络输入按顺序交给同一个消费函数时,可以用 io.MultiReader 组成连续输入流。本文说明顺序读取、EOF、非 EOF 错误和底层资源关闭责任。426 收藏 -
用 Go os/exec 分别读取 stdout 与 stderr,掌握 Start、并发消费管道和 Wait 的正确边界,避免输出混合、管道阻塞和误判退出状态。426 收藏 -
用 Go benchmark 公平比较字符串拼接实现,掌握 ReportAllocs、AllocsPerRun、B/op、allocs/op 与 b.Loop 的使用边界。426 收藏 -
Golang · Go教程 | 1个月前 | 并发 · go · trace · 性能排查 · Go 1.25 · Go 1.25 runtime/trace FlightRecorder 运行时追踪 延迟排查
Go 1.25 的 runtime/trace.FlightRecorder 用内存环形缓冲持续保留最近一小段运行时追踪,等异常延迟发生时再写出文件。本文对比传统 Start/Stop 采集方式,给出 HTTP 服务接入、触发写盘和资源边界检查。425 收藏 -
用一个可运行的 Go HTTP 示例说明 http.Server.ConnContext 适合绑定连接级租户标识的边界,以及如何在请求处理中安全读取、验证和测试它。425 收藏 -
Go 1.24 用 go:wasmexport 把 Go 函数暴露给 WebAssembly 宿主。本文从 WASI reactor 和宿主调用实验入手,核对导出顺序、参数类型和初始化边界。425 收藏 -
Go 校验接口 HMAC 签名时,不要用普通字符串比较。本文用 crypto/hmac 和 hmac.Equal 说明摘要重算、编码边界、请求体一致性与常见排查方法。425 收藏 -
Go 1.23 引入 iter.Pull 后,调用方可以把 push 迭代器改成 next 读取,但停止时机和资源释放不能靠猜。本文用可运行示例拆解 next、stop、done 的边界,定位 goroutine 泄漏,并给出取消、回滚与告警检查办法。423 收藏 -
Go 的 template.FuncMap 适合注册纯函数,但闭包若持有可变共享状态,模板并发执行时仍会产生竞态。本文从注册、解析、执行三个边界拆解风险,并给出可验证的安全写法。423 收藏 -
Go 反射读取结构体标签时,Get 的空字符串并不等于“标签缺失”。本文用 StructTag.Lookup 区分缺失键、显式空值与格式错误,并给出可诊断的封装写法。423 收藏