Go语言技术文章
-
- Go time.Ticker 为什么会越积越多:长任务里的 Stop、Reset 与背压
- Go 的 time.Ticker 适合固定节拍触发工作,但当一次任务比 tick 间隔更长时,调度、积压和取消边界很容易混在一起。本文用一个定时刷新任务说明 Stop 与 Reset 的正确位置,并给出带背压、可退出、可观测的写法。
- Golang · Go教程 | 3星期前 | 并发 · 定时任务 · go · 定时任务 背压 Go time.Ticker 185浏览 收藏
-
- Go 1.24 的泛型类型别名怎么迁移:旧代码兼容与编译验证
- Go 1.24 默认支持泛型类型别名。本文从跨包迁移一个泛型类型的实际场景出发,说明别名与定义类型的语义差异、Go 1.23 实验开关的边界,以及如何用编译、测试和工具链检查完成迁移验收。
- Golang · Go教程 | 1星期前 | 185浏览 收藏
-
- Go image/png.DecodeConfig 怎么先读尺寸再解码:Reader 消费位置与图片头边界
- 用同一份 PNG 输入验证 image/png.DecodeConfig 的尺寸读取、Reader 消费位置和 Decode 配合方式,解释 bytes.Reader、Seek 与不可回退流之间的边界。
- Golang · Go问答 | 4天前 | go · 文件读取 · image/png · Go 图片尺寸 image/png DecodeConfig 185浏览 收藏
-
- Go reflect.TypeFor 为什么比反射取零值更适合泛型类型判断
- reflect.TypeFor[T]() 从 Go 1.22 开始直接返回泛型类型 T 对应的 reflect.Type。本文对比旧的 reflect.TypeOf((*T)(nil)).Elem(),说明接口类型、指针类型、类型缓存和 Go 版本兼容边界,给出可运行的类型判断示例。
- Golang · Go问答 | 1星期前 | 反射 · 标准库 · go · 泛型 · Go泛型 reflect.TypeOf Go reflect.TypeFor 反射类型 184浏览 收藏
-
- Go strings.FieldsFunc 为什么会丢空字段:分隔规则与自定义解析边界
- strings.FieldsFunc 适合按字符规则切分文本,但它会合并连续分隔符并丢弃空字段。本文用配置行解析场景说明它的边界,并给出保留空字段的自定义写法。
- Golang · Go教程 | 1星期前 | 标准库 · go · 字符串处理 · Go 字符串解析 空字段 strings.FieldsFunc 184浏览 收藏
-
- Go 1.27 httptest.NewTestServer 怎么接 synctest:内存测试网络的适用范围
- Go 1.27 为 httptest 增加 NewTestServer,默认使用内存网络;testing/synctest 则负责隔离并发测试中的 goroutine 与虚拟时间。本文用一个异步 HTTP Handler 示例说明两者的连接方式、等待边界和不适用场景。
- Golang · Go教程 | 2天前 | 标准库 · go · Go 1.27 · 并发测试 · HTTP 测试 · testing/synctest Go 1.27 httptest.NewTestServer Go 并发测试 内存网络 184浏览 收藏
-
- Go channel 背压:让生产速度服从消费能力
- 通过有界 channel、select 和 context,把压力显式传回生产端。
- Golang · Go教程 | 2个月前 | errgroup · singleflight · 超时控制 · 并发编程 · database/sql · golang 183浏览 收藏
-
- Go io.Pipe 流式上传为什么会卡住:CloseWithError、背压与退出顺序
- 一次 Go 流式上传在异常路径卡死的排查记录:用 io.Pipe、CloseWithError 和 goroutine 栈定位背压与退出顺序问题,再补上可验证的清理和超时边界。
- Golang · Go问答 | 1个月前 | 182浏览 收藏
-
- Go os.OpenRoot 怎么限制用户路径:安全打开、目录逃逸与错误验收
- Go 1.24 引入 os.OpenRoot 后,如何把用户传入的相对路径限制在指定目录内?本文用一个可运行的文件读取示例,验证正常打开、绝对路径和 .. 目录逃逸三类结果。
- Golang · Go教程 | 1星期前 | go · 文件系统 · 安全编程 · Go 文件安全 os.OpenRoot 目录逃逸 182浏览 收藏
-
- Go rate.Limiter:用令牌桶把入口流量变成可承受的速度
- 理解 Allow、Wait、Reserve 和 Burst 的区别,给接口加上可解释的限流策略。
- Golang · Go教程 | 2个月前 | errgroup · singleflight · 超时控制 · 并发编程 · database/sql · golang 181浏览 收藏
-
- Go time.After 写在循环里会泄漏吗:定时器堆积、Stop 和 NewTimer 复用怎么判断
- Go 循环里反复调用 time.After 不一定立刻造成传统意义上的永久泄漏,但在高频循环里会让还没触发的定时器短时间堆积,内存和定时器队列压力都会上来。本文从现象排查到修复写法,讲清什么时候可以用 time.After,什么时候应该改成 time.NewTimer 并配合 Stop 和 Reset。
- Golang · Go问答 | 1个月前 | 181浏览 收藏
-
- Go testing.TB.Cleanup 为什么测试结束前不执行:注册时机与子测试边界
- 解释 Go 测试中 testing.TB.Cleanup 的执行时机,结合主测试、t.Run 子测试和并行测试,定位清理函数看似没有执行的常见原因。
- Golang · Go问答 | 1星期前 | 单元测试 · go · testing · Go 单元测试 子测试 testing.TB.Cleanup 181浏览 收藏
查看更多
课程推荐
-
- 前端进阶之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推荐
-
- SuperCLUE
- SuperCLUE是权威的中文大语言模型综合评测基准,涵盖语言理解、知识应用、AI Agent智能体及安全性等12项核心能力。通过多轮对话与客观测试,定期发布榜单与技术报告,为模型研发、优化及行业选型提供科学依据。
- 117次使用
-
- C-Eval
- 深入了解C-Eval中文评估套件,涵盖52个学科与4级难度。本文详解其功能特点、Zero-shot/Few-shot使用方法及代码示例,助您全面评测LLM中文理解与泛化能力。
- 39次使用
-
- Google AI提示词库
- 探索Google Cloud官方生成式AI提示词库,提供免费、无需登录的中英双语Prompt模板。涵盖内容创作、代码优化、数据分析等场景,助您快速提升AI交互效率与质量。
- 8次使用
-
- Gradio
- Gradio是一个用于构建机器学习和数据科学Web应用的开源Python库。支持快速创建交互界面,获Google、Meta等大厂青睐,适合模型演示、部署反馈及调试。
- 115次使用
-
- AgentGPT
- 深入了解AgentGPT:一款基于浏览器的自主人工智能代理工具。本文解析其核心功能、技术栈、应用场景,并提供详细的在线使用及本地部署教程,助您高效利用AI自动化完成任务。
- 10次使用

