Go语言技术文章
-
讲清 Redis SET 命令的 GET 选项如何在一次原子写入中返回旧值,并覆盖键不存在、非字符串旧值、条件写入、TTL 保留及 GETSET 迁移等边界。413 收藏 -
Go 的 multipart.Reader 需要保留 quoted-printable 部件时,应使用 NextRawPart。本文对比 NextPart 的透明解码行为,演示安全解析 boundary、保存原始 body,以及按需显式解码的实现边界。413 收藏 -
用 Go strings.IndexByte 定位 ASCII 协议分隔符,结合字符串切片完成低分配字段解析,并说明 -1、UTF-8、空字段和大字符串保留的边界。413 收藏 -
MySQL Skip Scan 不是复合索引的默认补救方案。本文用单表覆盖索引、前缀等值条件、后续范围条件和 EXPLAIN 结果,整理判断它是否会被优化器采用的步骤。413 收藏 -
Closure::bindTo 的 newThis 控制闭包里的 $this,newScope 控制 private 与 protected 成员可见性。本文用一个小型状态读取器演示切换对象、保持类作用域、解除绑定和 PHP 8.5 兼容边界。413 收藏 -
Java 21 可根据 sealed 类型的允许子类型检查 switch 是否穷尽。本文用订单结果模型说明覆盖规则、为何省略 default,以及 null、守卫、泛型与版本演进边界。413 收藏 -
qooapp 官方开发者文档说明了 APK 发布前的包名与 versionCode 约束。本文整理字段含义、核对顺序和不应据此推断的范围。413 收藏 -
用 PHP Attribute 为控制器方法声明路由元数据,再通过 Reflection 生成一次性路由表,覆盖读取、缓存、HTTP 方法区分和重复路由冲突处理。413 收藏 -
Golang · Go教程 | 1星期前 | 单元测试 · Context · Go教程 · HTTP客户端 · Go 上下文取消 HTTP测试 testing.T.Context http.NewRequestWithContext
Go 1.24 起,testing.T.Context 能把测试生命周期直接传给 HTTP 客户端请求。本文给出最小代码、超时收紧、子测试边界,并解释它与 httptest.NewRequestWithContext 的区别。413 收藏 -
time.Now() 返回的 time.Time 可能同时含墙上时钟与单调时钟读数。本文说明序列化前为什么常用 Round(0) 清理进程私有字段,以及反序列化后如何用 Equal 正确比较时间。413 收藏 -
bbolt 的嵌套 Bucket 可以把业务域、租户和键值放进清晰的层级路径。本文用一组幂等初始化、写入读取与删除边界,说明如何在事务内隔离业务数据。413 收藏 -
Vite 的 import.meta.env 主要在开发服务器启动或生产构建阶段读取并静态替换,浏览器运行时不能直接改写已经打包的值。本文解释构建期配置与运行时配置的边界,并给出外置 config.js 的落地方式。413 收藏 -
Go HTTP Server 可以通过 BaseContext 为新连接提供服务级根上下文。本文说明如何创建可取消的服务上下文、接入 http.Server,并区分 BaseContext、ConnContext 与请求上下文的生命周期边界。413 收藏 -
LLM 可观测性不等于把 prompt 和回答原文写进日志。本文以 OpenAI 兼容的 Chat Completion 响应为例,说明怎样记录 prompt_tokens、completion_tokens、total_tokens 等用量元数据,并在应用边界完成字段白名单、敏感信息脱敏和流式 usage 处理。413 收藏 -
Go 项目已有 vendor 目录却没有使用时,先检查主模块根目录、go.mod 的 go 版本、GOFLAGS 或 -mod 覆盖项,再用 go mod vendor 同步 vendor/modules.txt,并用 -mod=vendor 确认构建路径。413 收藏