收录了golang频道下的 29 篇文章
-
- Go bytes.Buffer 复用后数据为什么变了:Reset、Bytes 别名与拷贝边界
- Go 里把 bytes.Buffer.Bytes() 返回的切片保存下来,再复用 Buffer 写下一条消息,旧数据为什么会跟着变化?关键在于 Bytes 返回的是底层数组视图,不是独立副本。本文用消息编码场景说明 Reset、切片别名、Clone 拷贝和并发边界,给出可复查的安全写法。
- Golang· Go问答 | 4天前 | golang· 并发编程· bytes.Buffer· 内存管理· Go问答· bytes reset bytes.Buffer Go内存 切片别名 470浏览 收藏
-
- Go errgroup.SetLimit 怎么用:批量调用下游时限制并发、保留取消与错误
- 批量请求第三方接口时,errgroup.WithContext 配合 SetLimit 能把并发上限、首个错误返回和派生上下文取消放进同一段代码。这里给出可直接核对的最小写法、限额取值与几个容易卡住的边界。
- Golang· Go问答 | 1星期前 | golang· errgroup· Context· 并发控制· Go问答· SetLimit· 错误传播 Go errgroup.SetLimit errgroup.WithContext Go 并发限制 批量调用 context 取消 467浏览 收藏
-
- Go 流式响应怎么做:ResponseController.Flush、SSE 与断开回收的取舍
- Go 的流式响应不是把多次 Write 拼起来就结束了。本文从 http.ResponseController.Flush 入手,做一个可验证的 SSE 示例,解释缓冲何时真正送达、HTTP/2 与代理会带来什么差异,以及客户端断开后如何让 goroutine 和 ticker 及时收口。
- Golang· Go教程 | 11小时前 | golang· sse· Go教程· net/http· 接口设计· HTTP Go SSE FLUSH 流式响应 ResponseController 463浏览 收藏
-
- Go HTTP 服务怎么设请求边界:请求体、超时和响应头的生产配置
- Go 的 http.Server 默认足够启动一个接口,却不会替业务限定大请求体、慢请求头和响应写入时间。本文用上传接口的真实边界,拆解 MaxBytesReader、ReadHeaderTimeout、WriteTimeout 与 MaxHeaderBytes 的职责,并给出可复查的生产配置。
- Golang· Go教程 | 1星期前 | golang· HTTP· go· 服务端· 实战· 安全配置· http.server MaxBytesReader ReadHeaderTimeout Go HTTP 服务 请求体限制 响应头限制 455浏览 收藏
-
- Go Client 配置怎么设计:Functional Options 什么时候适合用,什么时候不值得
- Functional Options 适合“少量必填参数稳定、可选项会逐步增加”的 Go Client 构造场景。它能避免频繁改函数签名,并让调用点保留 WithTimeout、WithRetry 这类具名配置;但配置总是成组出现、需要从文件反序列化,或只有一个可选值时,Config 结构体或新增构造函数往往更直接。关键不在模式名称,而在默认值、重复选项与兼容边界是否明确。
- Golang· Go教程 | 1星期前 | golang· 配置· 设计模式· go· client· api设计· Go 构造函数 Functional Options 函数选项 Client 配置 API 兼容 454浏览 收藏
-
- Go 1.25 sync.WaitGroup.Go 怎么用:少写 Add/Done,但别忽略 panic 和复用边界
- Go 1.25 为 sync.WaitGroup 增加了 Go 方法,常见的 Add、go func、defer Done 三段式可以收成一次调用。它能减少计数配对遗漏,却不会替业务处理 panic、取消或结果收集。本文用批量写入场景解释最小写法、和旧写法的边界差异、版本兼容与复用 WaitGroup 时容易忽略的顺序。
- Golang· Go问答 | 1星期前 | WaitGroup· golang· goroutine· 并发编程· Go问答· Go 1.25· Goroutine 并发 WaitGroup Go 1.25 sync.WaitGroup.Go Add Done 448浏览 收藏
-
- Go 1.23 以后还要手动 Stop Timer 吗:一次超时循环改造实战
- Go 1.23 之后,未引用的 Timer 可以被垃圾回收,time.After 不再天然等于内存泄漏。但在高频超时循环里,仍要先区分分配波动、超时语义和取消需求;需要复用或主动取消时,再用 NewTimer、Stop 和 Reset 把边界写清楚。
- Golang· Go教程 | 1星期前 | golang· Timer· 并发编程· time.After· 性能排查· time.After go timer Go 1.23 NewTimer Timer.Reset Timer.Stop 403浏览 收藏
-
- Go HTTP 请求超时怎么处理:context.WithTimeout 的最小配方与常见坑
- Go 服务调用 HTTP、数据库或 RPC 时,超时不能只靠客户端等待。本文用 context.WithTimeout 给请求链路加上可传播的截止时间,并说明 cancel、父子 Context、select 和错误判断的常见坑。
- Golang· Go问答 | 5天前 | golang· HTTP· Context· 并发编程· context.Context context.WithTimeout Go HTTP 超时 397浏览 收藏
-
- Go 1.26 Green Tea GC 默认开启:升级后该看哪些指标,怎么做回退验证
- Go 1.26 将此前实验性的 Green Tea 垃圾回收器设为默认。升级后不能只看单次压测数字,本文从适用场景、指标基线、最小验证和临时回退开关整理一套可落地的检查方法。
- Golang· Go教程 | 1星期前 | golang· 性能优化· Go 1.26· 垃圾回收 Go 1.26 Green Tea GC 334浏览 收藏
查看更多
课程推荐
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让学生了解MySQL如何与客户端进行通信。此外,课程还将介绍如何优化MySQL的网络通信性能,包括连接池、网络压缩、SSL加密等高级技术。学生将通过实践项目,亲手
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- Golang深入理解GPM模型
- Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
- 474次学习

