Go教程技术文章
-
编辑器保存配置时常用临时文件写入再重命名,Go 文件监听器看到的可能是多次事件而不是一次保存。本文用事件合并、稳定快照读取和重试窗口处理原子替换,避免读到半个文件,也避免漏掉真正的更新。439 收藏 -
Golang · Go教程 | 2天前 | JSON · go · 后端开发 · 接口设计 · Go encoding/json JSON接口 DisallowUnknownFields Decoder
Go 的 JSON 接口要不要拒绝未知字段,关键不在于开关本身,而在于客户端兼容边界。本文用 Decoder.DisallowUnknownFields 拆解严格校验、错误定位、灰度发布和回滚策略。439 收藏 -
io.NewSectionReader 适合从一个可随机读取的数据源中切出固定区间。本文用 bytes.Reader 演示 Offset、Read、ReadAt、Seek 与越界 EOF 的实际边界,避免把局部读取误写成全量读取。439 收藏 -
Go 1.26 新增 crypto/hpke,提供符合 RFC 9180 的混合公钥加密接口。本文用一个最小消息交换示例拆开封装、解封装、上下文信息和密钥用途边界,并说明如何验证密文不可直接当作明文使用。435 收藏 -
用 Go 处理连续 JSON 流时,Decoder.Token、Decode 和 Buffered 的边界很容易被误读。本文从两个 JSON 连在一起的现场出发,验证读取位置、解释看似吞值的原因,并给出可复查的多对象解析写法。435 收藏 -
Go 定时任务最容易被忽略的问题不是如何触发,而是上一次任务变慢后如何避免下一轮重入。本文比较 Ticker、单次触发和带状态的调度写法,并给出可验证的选型边界。434 收藏 -
自签名 CA 或内网证书接入 Go 客户端时,握手失败往往不是服务端证书坏了,而是根证书没有进入本次 Verify 使用的证书池。本文从系统根证书池、NewCertPool、AddCert 到 Verify 串起一条可运行的证书链校验路径。433 收藏 -
Go embed.FS 把配置目录编译进程序后,可以用 fs.WalkDir 按路径筛选 YAML 文件并保留遍历错误。本文从嵌入文件树开始,演示目录遍历、扩展名过滤、错误返回和测试检查。431 收藏 -
Go SSE 处理器已经 Write,浏览器仍可能迟迟收不到。本文用 ResponseController.Flush、SetWriteDeadline、代理缓冲检查和断连测试拆解完整刷新链路。430 收藏 -
Go 测试里 t.Setenv 会注册环境变量清理动作,但它不能与 t.Parallel 放在同一测试流程中。本文用最小示例说明限制原因、子测试边界和稳定的隔离写法。429 收藏 -
用 Go 的 slices.BinarySearchFunc 在结构体切片中按自定义字段查找,重点说明返回下标与 found 的含义、排序契约以及比较器写错时的排查方法。429 收藏 -
Golang · Go教程 | 19小时前 | Windows · 跨平台 · os · golang · 文件权限 · Windows unix Go 只读属性 os.File.Chmod FileMode
Go 的 os.File.Chmod 在 Unix 上修改权限位,在 Windows 上主要控制只读属性。本文用可运行示例说明 0o200、0o400、0o600 的平台差异、符号链接行为和跨平台验证方式。427 收藏 -
Go 1.23 引入 iter.Pull 后,调用方可以把 push 迭代器改成 next 读取,但停止时机和资源释放不能靠猜。本文用可运行示例拆解 next、stop、done 的边界,定位 goroutine 泄漏,并给出取消、回滚与告警检查办法。423 收藏 -
Go 的 template.FuncMap 适合注册纯函数,但闭包若持有可变共享状态,模板并发执行时仍会产生竞态。本文从注册、解析、执行三个边界拆解风险,并给出可验证的安全写法。423 收藏 -
strings.Builder 的 String 返回值可以保存并在后续写入或 Reset 后继续使用,但 Builder 本身不能复制;本文从 String、WriteString、Reset 和 Cap 的真实边界说明如何安全复用它。422 收藏