Go问答技术文章
-
- Go JSON 里的 omitempty 为什么漏不掉 time.Time?omitzero 和指针怎么选
- Go 里 time.Time 是结构体零值,旧的 omitempty 不会按很多人期待的方式省略它。Go 1.24 起可用 omitzero;需要区分缺失和有值时,用 *time.Time 更清楚。
- Golang · Go问答 | 3星期前 | JSON · time.Time · 接口设计 · Go问答 · encoding/json · encoding/json API响应 JSON序列化 time.Time omitempty Go问答 omitzero 315浏览 收藏
-
- Go context deadline exceeded 怎么区分上游取消和下游超时:Cause 与 errors.Is 的判断顺序
- Go 服务里看到 context deadline exceeded,不代表所有请求都只是超时。本文从上游主动取消、下游调用超时和本地截止时间三种现场出发,演示 WithCancelCause、Cause 与 errors.Is 的判断顺序,让日志能指出真正的中断来源。
- Golang · Go问答 | 10小时前 | 超时 · 错误处理 · go · Context · errors.Is Go context deadline exceeded WithCancelCause 309浏览 收藏
-
- Go sync.Pool 复用大 Buffer 后内存不降?从容量残留到回收节奏这样排查
- Go 服务用 sync.Pool 复用 bytes.Buffer 后,流量回落时 RSS 仍高并不一定是泄漏。本文从大容量底层数组被放回池、GC 回收节奏和运行时向系统归还内存三个层面复现问题,给出容量上限与 pprof 验证方法。
- Golang · Go问答 | 5天前 | GC · sync.Pool · bytes.Buffer · 内存优化 · Go问答 · Go 垃圾回收 内存占用 对象池 sync.Pool bytes.Buffer buffer复用 307浏览 收藏
-
- Go nil slice 为什么 JSON 是 null:接口数组字段统一成 [] 的迁移清单
- 回答 Go nil slice 和空 slice 在 JSON 输出上的差异,说明为什么一个是 null、一个是 [],并给出接口数组字段统一成 [] 的代码写法、回归检查和迁移清单。
- Golang · Go问答 | 3星期前 | JSON · 接口设计 · Go问答 · nil slice · Go 接口兼容 json.Marshal nil slice empty slice 数组字段 305浏览 收藏
-
- Go 服务请求超时后 goroutine 还在跑怎么办?context 取消与排查清单
- Go 服务已经返回超时,但后台 goroutine 仍在消耗连接和内存,往往不是超时参数太小,而是取消信号没有沿调用链传递或 CancelFunc 没有及时调用。本文给出从症状判断、代码修复到告警复盘的排查清单。
- Golang · Go问答 | 1星期前 | goroutine · Context · Go问答 · 排查清单 · 服务超时 · goroutine泄漏 context.WithTimeout Go问答 CancelFunc Go context取消 Go服务超时 304浏览 收藏
-
- Go sync.Pool 复用 bytes.Buffer 为什么会串数据:Reset 位置和归还时机
- sync.Pool 复用 bytes.Buffer 时,旧内容残留和过早归还都会让响应出现串数据。本文从现象、最小复现到 Reset 与归还时机,给出可直接用于编码响应的安全写法。
- Golang · Go问答 | 6天前 | 并发 · 性能优化 · sync.Pool · bytes.Buffer · Go问答 · reset bytes.Buffer 对象复用 Go sync.Pool 数据串行 294浏览 收藏
-
- Go 长任务接口怎么返回进度?SSE 流式推送的最小写法
- 用 Go net/http 实现一个长任务进度 SSE 接口,讲清任务提交、事件格式、http.Flusher、浏览器 EventSource、心跳保活、断开取消和资源清理。
- Golang · Go问答 | 3星期前 | HTTP · sse · Go问答 · 用户体验 · 流式响应 · Go EventSource SSE Go问答 Server-Sent Events 长任务进度 http.Flusher 293浏览 收藏
-
- Go rows.Next 返回 false 不一定是查完:Err、Close 和扫描失败怎么定位
- Go 读取数据库结果时,rows.Next 返回 false 只能说明当前结果集没有下一行,不能直接当成查询成功。需要在循环后检查 rows.Err,并分别处理 QueryContext、Scan、Close 的错误,才能区分正常查完、数据库中断和结果读取失败。
- Golang · Go问答 | 9小时前 | 错误处理 · go · SQL · database/sql · 线上排查 · SCAN 查询结果 database/sql Go问答 rows.Next Rows.Err 292浏览 收藏
-
- Go map 并发读写为什么会 panic:加锁、单协程和 sync.Map 怎么选
- Go 原生 map 不是并发安全容器,只要一个 goroutine 写 map,同时另一个 goroutine 读或写同一个 map,就可能触发 concurrent map read and map write。生产代码要按访问模式选择 RWMutex、单协程归口或 sync.Map。
- Golang · Go问答 | 2星期前 | 并发 · map · RWMutex · sync.Map · Go问答 · 数据竞争 RWMutex sync.Map map并发读写 Go问答 concurrent map read and map write 291浏览 收藏
-
- Go 私有模块下载失败怎么排查:GOPRIVATE、代理和校验和的最小配置
- Go 拉取私有模块时,报错往往不是凭据本身失效,而是模块路径先被公共代理或公共校验服务请求。先用 GOPRIVATE 标记私有路径,再按公司是否部署私有代理决定 GONOPROXY 与 GONOSUMDB 的边界,最后用 go env 和 go mod download 收敛问题。
- Golang · Go问答 | 1星期前 | 依赖管理 · golang · 私有仓库 · 工程实践 · Go Modules · GOPROXY GOPRIVATE GONOPROXY GONOSUMDB Go私有模块 go mod download 288浏览 收藏
-
- Go 升级到 1.22 后循环变量还会踩坑吗:go.mod 版本和回归检查
- Go 1.22 将 for 循环声明的变量改为每次迭代独立,但新语义是否生效取决于模块 go.mod 的 go 版本:只有声明 go 1.22 或更高版本的模块会启用。升级时应重点复查 goroutine、闭包和 t.Parallel 子测试;旧版模块中的变量拷贝仍可能是必要保护,不能只因编译器升级就批量删除。
- Golang · Go问答 | 1星期前 | 并发 · golang · go · 循环变量 · Go 1.22 · 模块升级 · Goroutine 闭包 循环变量 go.mod Go 1.22 loopvar 升级迁移 277浏览 收藏
-
- Go 文件上传如何限制 multipart 请求体:MaxBytesReader 与 ParseMultipartForm 的安全边界
- Go 文件上传接口不能只依赖 ParseMultipartForm 的参数,否则超大请求仍可能先进入内存或临时文件。本文从 net/http 服务端入口开始,演示 MaxBytesReader、ParseMultipartForm 和文件级校验的组合边界,并给出超限回归检查。
- Golang · Go问答 | 2天前 | go · 文件上传 · 安全 · net/http · 接口设计 · multipart/form-data ParseMultipartForm http.MaxBytesReader Go文件上传 请求体大小限制 275浏览 收藏
-
- Go HTTP 重试为什么请求体变空:GetBody、Request.Clone 与可重放边界
- Go HTTP 客户端第一次请求失败后直接重用同一个 Request,第二次可能只剩空请求体。问题不在重试次数,而在 Body 已经被消费;用 Request.GetBody 构造可重放副本,配合 Request.Clone 处理上下文和 Header,才能把重试边界写清。
- Golang · Go问答 | 8小时前 | net/http · Go问答 · HTTP重试 · 请求体 · 接口稳定性 · net/http Go HTTP重试 Request.GetBody Request.Clone 请求体复用 273浏览 收藏
查看更多
课程推荐
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- Golang深入理解GPM模型
- Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
- 474次学习
查看更多
AI推荐
-
- ljg-skills
- ljg-skills 是李继刚开源的 AI 技能与提示词集合,面向大模型使用者整理了一批可复用的 prompt、角色设定和任务技能模板,适合用于学习提示词设计、搭建个人 AI 工作流和沉淀团队常用智能体能力。
- 4660次使用
-
- MELO音乐
- MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
- 4273次使用
-
- UniScribe
- UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
- 4230次使用
-
- 剧云
- 剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
- 4447次使用
-
- 万象有声
- 万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
- 4411次使用

