技术栈
go
用户12575852436
3 小时前
http
·
go
·
测试
Go 里读取 request body 后,下游拿不到参数:别让日志中间件把请求吃掉
很多 Go Web 项目都会加请求日志:记录 method、path、耗时,再顺手把 body 也打出来。问题通常就出在这个“顺手”上。
tyung
1 天前
后端
·
go
zhenyi-base zqueue 基准测试分享
标签:Go / 无锁队列 / Benchmark / 性能测试 / zhenyi-base完整数据见 docs/benchmark/zqueue_matrix_results.txt
香吧香
1 天前
go
go tool pprof 使用总结二
关键点:假设服务监听在 localhost:6060Top 视图是 pprof 最基础、最常用的分析入口,它以表格形式展示所有采样到的函数,按消耗量排序。相比火焰图和关系图,Top 视图能给你精确的数据排名,让你清楚知道"谁是第一名"。
用户675704988502
1 天前
后端
·
go
写了 6 年 Go ,我终于领悟到了泛型的真正威力!
哈喽,各位小伙伴们!今天来聊一聊 Go 语言中的泛型~哈哈,当然这篇文章的标题的确有点儿夸张哈,这篇文章旨在详细介绍一下 Go 语言中的泛型以及让没有用过 Go 语言泛型的童鞋们快速掌握如何使用泛型。
名字还没想好☜
1 天前
开发语言
·
后端
·
golang
·
go
·
错误处理
Go error 处理:errors.Is/As 与错误包装
Go 的错误处理一直被吐槽啰嗦,但真正让人头疼的不是 if err != nil 写得多,而是错误传到上层就"失真"了。你在最底层返回了 sql.ErrNoRows,一路 return err 传上来,到 handler 里想判断"是不是记录不存在",结果发现要么信息丢了,要么只能用 err.Error() == "..." 这种字符串比较——脆得一改文案就崩。
bulldozer
2 天前
go
写了个零依赖的 Go 版本管理器,curl | bash 完事
## 缘起作为一个 Go 开发者,多版本管理是刚需。团队项目用 1.21,个人项目想尝鲜 1.26,开源项目还在 1.19——**不同项目不同版本的场景太常见了**。
香吧香
2 天前
go
go tool pprof 使用总结
转载请注明出处:这是 go tool 最常用、功能也最强大的部分,主要用于分析和优化程序性能。一个典型的性能优化流程可以概括为:
用户675704988502
2 天前
后端
·
go
从失真到绝对精准:Go语言中如何进行高精度计算?
在电商、金融、支付等核心微服务开发中,数据计算的精确度是系统安全的生命线。然而,许多刚接触 Go 语言的开发者,甚至是有一定经验的后端工程师,依然会习惯性地使用 float64 来处理金额、汇率等敏感数据。直到某一天,财务对账时发现订单金额莫名其妙少了“一分钱”,排查一整天才发现是底层浮点数失真惹的祸。
用户675704988502
2 天前
后端
·
go
还在用字符串返回错误提示?Go语言优雅错误处理的正确姿势!
在日常的Go语言开发中,我们经常会遇到这样一个场景:在一个业务方法(比如校验短信验证码)中,我们需要处理多种情况。
唐青枫
2 天前
go
别把 CLI 写成一坨 os.Args:Go Cobra 从命令树到实战工具详解
Go 标准库当然可以写命令行工具:小工具这样写没问题。一旦命令变成这样,代码很快会乱:这时需要处理的东西不只是 os.Args:
我叫黑大帅
3 天前
后端
·
面试
·
go
别再手动写 updated_at了,这坑我踩过
做后端写业务表,updated_at 几乎是标配。谁都知道它用来记数据最后修改时间,排查问题、对账、做增量同步都靠它。
我才是银古
3 天前
go
·
rpa
·
robotgo
基于 robotgo 实现 Windows 桌面 RPA 自动化框架:技术全解
桌面 RPA 的本质是对操作系统的输入系统(鼠标、键盘、剪贴板、屏幕)进行程序化控制。在 Windows 上,主流的自动化方案有几种:
爱好曙光
3 天前
性能优化
·
go
·
并发编程
Go GMP调度器调优:CPU绑定与goroutine饥饿实战
Go 的 GMP 调度器让开发者能轻松写出高并发程序,但“轻量级线程”不等于没有限制。当你在容器中运行 Go 服务,发现某些请求的 P99 延迟突然飙升到秒级,或者某个 goroutine 明明没有阻塞却迟迟不被调度——这往往是 goroutine 饥饿 与 CPU 绑定 两把刀在作祟。本文从 GMP 底层机制出发,结合真实生产案例,拆解如何定位和解决此类问题。
景威
3 天前
go
写了个零依赖的 Go 版本管理器,curl | bash 完事,支持自动回退国内镜像
Go 多版本管理工具不少:gvm 9k+ star 但已停更归档,Apple Silicon 上 SSL 报错;g 轻量好用但需要用 Go 编译安装——我装版本管理器就是为了管理 Go,这成了鸡生蛋的问题;asdf 生态强大但太重,git + curl + 插件配置一套下来新手劝退。
cocoCola91667
3 天前
go
Go语言操作Redis
在项目开发中redis的使用也比较频繁,本文介绍了Go语言中go-redis库的基本使用。Redis是一个开源的内存数据库,Redis提供了多种不同类型的数据结构,很多业务场景下的问题都可以很自然地映射到这些数据结构上。除此之外,通过复制、持久化和客户端分片等特性,我们可以很方便地将Redis扩展成一个能够包含数百GB数据、每秒处理上百万次请求的系统。
名字还没想好☜
4 天前
java
·
数据库
·
后端
·
golang
·
go
Go 并发实战:用 channel 实现 worker pool
处理一批任务时,很多人第一反应是给每个任务开一个 goroutine:for _, job := range jobs { go handle(job) }。任务少没事,但如果 jobs 有几万个、每个任务还要连数据库或调外部接口,瞬间几万个 goroutine 一拥而上,连接池被打爆、下游被限流、内存飙升。正确的做法是固定数量的 worker 从一个队列里取任务,也就是 worker pool。这篇用一个可运行的例子把它讲透,并说清楚几个新手必踩的坑。
CodeStats
5 天前
java
·
linux
·
c语言
·
c++
·
python
·
rust
·
go
【编程语言】深度梳理C/C++、Java、Python、Go、Rust的区别
大家好,我是 CodeStats。一个在底层技术上“考古”了四年的硬核爱好者,也是 WWAIC(全周项目AI编程) 范式的提出者和实践者。我曾手写过一个完整的 Java Web 框架(从 IoC 容器到嵌入式 Tomcat,代码全开源),也喜欢用通俗的语言拆解 CPU、JVM、操作系统的运行本质。
星航夜空的帆舟
5 天前
go
·
agent
ADK 会话与状态管理:三级状态、内存服务与多存储后端
想象一下,如果每次和智能体对话,它都不记得之前说了什么,会怎么样?你可能会遇到这样的场景:没有记忆的智能体,就像一个只有短时记忆丧失的病人——每次对话都是第一次。
用户675704988502
5 天前
后端
·
go
Go 程序员进阶必读:这 24 个经典的 Golang 错误,连老手都会栽跟头!
在 Go 语言(Golang)的开发中,简洁的语法和强大的并发机制让无数程序员爱不释手。然而,正如所有编程语言一样,Go 也有它的“脾气”。尤其是当你从 Java、Python 或 C++ 转过来时,很容易掉进一些特定的语法陷阱(Gotchas)中。
大P哥阿豪
5 天前
开发语言
·
后端
·
golang
·
go
Go panic & recover:深入Go语言的异常拯救之道
想象一下这样的场景:你精心构建的Go服务正在生产环境中平稳运行,突然,一个看似无害的协程因一个意外的空指针解引用而崩溃——不是优雅地返回错误,而是像多米诺骨牌一样,引发连锁反应,导致整个服务进程瞬间崩溃。监控面板上的曲线断崖式下跌,告警信息瞬间刷屏。这就是panic在分布式系统中的真实威力,它不像错误那样温和,而是系统级的“紧急状态”。