Go语言技术文章
-
Scanner.Bytes 返回的是当前 token 的字节切片视图,不保证在下一次 Scan 后继续有效。本文用一个小工具复现变化原因,并比较即时处理、bytes.Clone、append 复制与 Text 的适用边界。136 收藏 -
PHP 8.4 属性钩子中,set 内用精确的同名属性语法写入的是背后存储,不会再次触发自身;本文还区分虚拟属性、动态访问和跨属性钩子带来的递归风险。136 收藏 -
pkg.go.dev v1 API 默认不返回完整文档与许可证列表。本文用 Go 构建批量汇总工具,说明 doc、licenses、module、version 参数,归并可再分发许可与文档状态,并处理路径歧义、429 限流和人工复核边界。136 收藏 -
Go 的 gzip 压缩级别是在 CPU 消耗、响应体大小和端到端延迟之间做取舍。本文用 NewWriterLevel 比较级别,并给出 HTTP Handler 中的配置、Close、Flush 与 Writer 复用注意事项。136 收藏 -
Golang · Go教程 | 5天前 | 缓存 · HTTP · go · Go net/http 静态文件 Cache-Control ETag If-Modified-Since ServeFile
用 net/http ServeFile 提供静态文件时,Last-Modified 和 If-Modified-Since 可以由文件修改时间驱动条件响应;ETag 与 Cache-Control 则需要业务方明确设置。本文从一个文件处理器拆开这些响应头的职责边界,并说明路径拼接、304 和缓存失效的常见陷阱。136 收藏 -
artworkout官方站提供每日免费课程和Premium订阅,帮助中心说明试用、取消和账户内订阅入口。本文整理试用到期前的核对事项、取消路径和Apple或Google平台退款边界。136 收藏 -
Redis BF.MEXISTS 返回的是按输入顺序排列的布尔数组。本文说明如何用位次把结果映射回原始项,并处理 Bloom Filter 的可能误判、重复值、空输入和批量异常。136 收藏 -
Go 用 fmt.Errorf 增加错误上下文时,应使用 %w 保留底层错误链,再交给 errors.Is 或 errors.As 判断;本文从常见误区出发,说明 %v 与 %w、单层和多层包装、nil 边界以及服务层返回约定。136 收藏 -
Golang · Go教程 | 2天前 | 日志 · HTTP · go · Context · slog · 可观测性 · Go context.Context 结构化日志 请求日志 log/slog slog.Logger
Go 的 log/slog 不会把 context.Context 中的值自动变成日志字段。更稳妥的做法是在 HTTP 入口用 Logger.With 固定 request_id、method、path 等请求属性,再把 context.Context 和这个 Logger 显式传给下游,并在需要时使用 InfoContext 或 LogAttrs。136 收藏 -
Go 的 interface 类型可以比较,但其中保存的动态值不一定可比较。本文从 panic 现场解释 slice、map、func 等类型为何触发运行时错误,并给出 reflect.Value.Comparable、类型断言和业务键比较的安全方案。136 收藏 -
从 JSON 路径的返回类型、函数索引表达式和排序规则入手,说明怎样让 MySQL 查询真正匹配 JSON 函数索引,并给出 EXPLAIN 排查与生成列兼容方案。136 收藏 -
从 Kazumi 官方站与开源仓库核对隐私声明、GPL-3.0 许可、规则来源和第三方服务边界,帮助用户在安装与观看前建立清晰预期。135 收藏 -
os.File.WriteAt 要求从指定偏移写入,而 O_APPEND 要求普通写始终追加到文件尾,两种语义互相冲突。本文用一个小型文件补丁工具讲清报错原因、正确打开标志和双句柄设计。135 收藏 -
米坛社区首页与知识库都提供帮助、条款和规则、隐私政策等公开入口,本文说明 Cookie 提示、页面职责与非从属声明应如何理解。135 收藏 -
PHP 枚举与数据库状态字段如果同时演进,最容易在重命名、删值和分批发布时产生漂移。本文给出稳定 backed value、集中映射、旧值兼容和分阶段迁移的完整做法。135 收藏