Go语言技术文章
-
TypeScript 面试:接口数据为什么别急着写成 any?有人被问到 any 和 unknown 的区别,会先讲「一个更安全」。这句话没错,但太像背定义了。更直观的说法,不妨直接看一段接口代码:服务端昨天把 name 改成了 displayName,但前端并没有收到通知。结果到了页面渲染时,代码196 收藏 -
Redis BITFIELD 可以把多个小整数放进一个字符串,并在一次命令中完成读取、写入和递增。本文用设备状态计数说明 u8、# 偏移、OVERFLOW SAT/FAIL 的边界,给出 redis-cli 结果核对与生产使用清单。196 收藏 -
PHP flock 能让同一文件的竞争请求排队,但它不会自动替业务去重。本文用一个可复现的并发脚本,拆解锁模式、临界区范围、异常退出和释放后的再次执行,给出检查与回滚方法。196 收藏 -
服务启动后,配置、正则或只读客户端常常只需要初始化一次,却要被多个 goroutine 安全读取。本文用 Go 标准库的一次性值函数演示惰性初始化、结果缓存、panic 复用与测试边界,说明它和手写 sync.Once 的取舍。196 收藏 -
金额计算不要直接依赖 float 的显示结果。本文用 Python decimal.Decimal 与 quantize 固定两位小数,拆开 ROUND_HALF_UP 的舍入选择、Inexact 校验和 InvalidOperation 异常边界,给出可复查的入账处理写法。196 收藏 -
Go 的 log/slog 会解析 LogValuer 返回的 Value。本文用一个最小示例说明返回自身为什么不会无限递归、Resolve 的保护边界在哪里,以及如何为敏感字段设计稳定的日志值。196 收藏 -
Go 的 database/sql.Conn.Raw 会在回调期间暴露底层驱动连接,但这个对象只能在回调内使用。本文拆开回调边界、driver.ErrBadConn、连接归还池和 Conn.Close 的并发安全问题。196 收藏 -
物业公司收取物业服务费后,发票抬头应围绕真实付款方和实际接受服务的关系核对,不能只因代付款就随意改成另一家公司。本文结合税务机关公开答复,说明个人、承租人、单位代付时的资料准备和核验路径。196 收藏 -
用一个可复现的无限列表场景,拆解 IntersectionObserver 的 rootMargin、threshold、unobserve 与 disconnect,避免滚动监听重复触发和组件卸载后的残留回调。196 收藏 -
本文整理一套 AI Agent 工具调用失败排查流程:先定义工具边界,再校验 Schema、参数和权限,最后处理超时、空结果、重试和兜底回答,帮助把不稳定的工具调用变成可验证的工程链路。195 收藏 -
Linux 服务启动失败时,先确认服务状态,再缩小日志时间范围。本文整理状态、日志、权限、配置和依赖的排查顺序,帮助更快落到具体原因。195 收藏 -
即使接口启用了严格 JSON Schema,Go 服务仍要检查拒答、截断和字段值语义。本文用一个可运行的校验边界示例,拆开模型响应、json.Unmarshal 和业务校验各自该负责什么。195 收藏 -
科技周边 · 人工智能 | 2星期前 | 安全 · mcp · ai agent · MCP ToolAnnotations readOnlyHint destructiveHint idempotentHint
MCP ToolAnnotations 能帮助客户端理解工具是否只读、是否可能破坏环境、重复调用是否幂等以及是否访问开放世界,但四个 Hint 只是行为提示而非权限系统。本文给出从服务端声明、状态实测到客户端拦截的上线核对清单。195 收藏 -
AI 应用不应把模型内部推理链直接展示给用户,但可以通过 Responses API 的 reasoning summary 提供简洁的过程摘要。本文用 Python 示例说明配置方式、摘要与最终答案的区别、展示边界和上线核对项。195 收藏 -
Golang · Go教程 | 1星期前 | 标准库 · JSON · go · 后端开发 · 版本迁移 · JSON Go 1.27 encoding/json/v2 encoding/json/jsontext GOEXPERIMENT
Go 1.27 带来 encoding/json/v2 与 encoding/json/jsontext。本文从旧 encoding/json 兼容边界开始,演示 v2 的选项配置、重复字段和非法 UTF-8 的回归检查,并给出灰度试用与 GOEXPERIMENT=nojsonv2 回退清单。195 收藏