Go语言技术文章
-
Go HTTP 请求返回 EOF 时,先按 Client.Do、Response.Body 读取和 JSON 解码三个阶段定位,再结合状态码、正文长度和接口契约区分服务端连接提前结束、空响应、传输截断与解析失败。450 收藏 -
CSS ::details-content 可以直接选中 details 的可折叠内容。本文从原生结构出发,用 opacity 与 content-visibility allow-discrete 做展开收起过渡,并说明旧浏览器和 prefers-reduced-motion 的处理方式。450 收藏 -
Golang · Go问答 | 3星期前 | 错误处理 · IO · Go问答 · 字节偏移 io.Seeker Go strings.Reader Reader.Seek ErrInvalidWhence
strings.Reader.Seek 的 whence 不是任意整数,只能使用 io.SeekStart、io.SeekCurrent 或 io.SeekEnd。本文用字节偏移示例区分 ErrInvalidWhence、负位置和超过末尾三种情况。449 收藏 -
systemd-cgls 怎样按服务单元查看 cgroup 树?本文用 --unit、--full、--no-pager 展开服务层级,并说明 --all、-k、-M 的排查边界。449 收藏 -
Go context.WithCancelCause 可以把业务取消原因传给下游。本文区分 ctx.Err() 与 context.Cause(ctx),示范哨兵错误、自定义错误类型、errors.Is 判断以及父子 Context 的首个取消原因规则。449 收藏 -
用一个三项独立任务的汇总脚本说明 asyncio.gather 的异常返回模式,区分成功值、普通异常与子任务取消,并解释输入顺序、调用方取消传播和服务集成边界。449 收藏 -
ExecContext 返回成功并不等于一定改动了数据。本文用 Result.RowsAffected 区分执行失败、零行结果和驱动计数差异,给出更新与删除场景中的判断方式。449 收藏 -
Go 的 Request.WriteProxy 面向 HTTP 代理写出请求,会在请求行使用包含 scheme 和 host 的绝对 URI;本文区分 Write、WriteProxy、URL 与 RequestURI,给出代理调试时的排查思路。449 收藏 -
解释 goavro NativeFromBinary 返回剩余字节的含义,区分单条 datum、连续记录、传输帧和 OCF 容器,并给出生产排障与边界检查方式。449 收藏 -
Redis Streams 的积压不能只看 XLEN。本文用 XPENDING、XINFO GROUPS 和 XINFO CONSUMERS 区分 pending 与 lag,并给出从现象到根因的排查命令。449 收藏 -
介绍 Go x/text/encoding/unicode 中 UTF16 的字节序与 BOMPolicy 配置,说明 IgnoreBOM、UseBOM、ExpectBOM 和 BOMOverride 在读写 UTF-16 时的区别与选择方法。449 收藏 -
Go typeutil.Map 适合把 go/types 产出的 types.Type 作为键,并按类型等价关系保存任意值。本文从类型检查结果取出类型对象,演示 Set、At、Iterate 的用法,说明普通 map、字符串键、并发读写和 Hasher 的边界。449 收藏 -
用 Go 1.25 的 os.Root.RemoveAll 在固定根目录内递归清理子目录,掌握路径校验、错误分层、Root 关闭和版本平台边界。449 收藏 -
Go 项目出现 vendor inconsistent dependencies 时,通常是 go.mod 已变更而 vendor/modules.txt 仍是旧清单。本文按模块图、go mod vendor 和离线构建三个边界,给出恢复一致的排查顺序。449 收藏 -
Go HTTP Range 返回长度不对时,常见根因不是一个字段,而是区间闭端点、文件 Seek 大小、压缩解码和自定义响应头互相错位。本文按服务端、标准库和客户端三层给出判断与修复方式。449 收藏