golang

ttwuai12 小时前
数据库·人工智能·mysql·golang
AI 生成后台改数据后,操作日志别只记按钮:Go + MySQL 怎么验AI 生成的后台页面能新增、编辑、删除,并不代表上线后能追责。真正出问题时,最麻烦的不是接口返回 200,而是你只知道“有人改过”,不知道谁改了哪一行、从什么值改到什么值、当时命中了哪个权限码、请求来自哪个租户或角色。
Wang's Blog14 小时前
开发语言·微服务·golang·go-zero
Go-Zero项目开发34: 微服务超时控制与重试机制实践在微服务架构中,一次请求往往需要跨越多个服务节点。当某个下游服务因资源争抢、网络抖动或瞬时硬件故障等原因无法及时响应时,调用方会陷入长时间的等待。这会直接导致用户体验下降、系统吞吐量降低以及调用链上的资源浪费。
Wang's Blog1 天前
开发语言·后端·golang
Go-Zero 项目开发26: 实现用户在线离线状态维护在即时通讯(IM)系统中,用户在线状态是最基础的功能之一。当用户登录后,好友列表中对应的头像会从灰色变为彩色,表示上线;退出或断开连接后恢复灰色,表示离线。看似简单的功能,背后却涉及登录状态记录、关系链查询、状态变更通知等多方面设计。
FfHUCisI18 小时前
golang
循环链表(Circular Linked List)循环链表是一种特殊的单链表,其尾节点的 Next 指针不指向 nil,而是回指到头节点,从而形成一个闭合的环。
Wang's Blog19 小时前
开发语言·微服务·golang·go-zero
Go-Zero项目开发30: 微服务配置中心的设计与实现在微服务系统中,随着业务拆分,部署的服务数量迅速增长。一个典型的项目中可能包含用户服务、订单服务、支付服务、消息队列消费端等多个独立进程,每个进程都携带自己的配置文件。除此之外,MySQL、Redis、ElasticSearch 等基础组件的连接信息同样分布在各个配置文件中。当某项配置需要变更——例如切换数据库地址或调整日志级别——运维人员不得不依次进入不同服务的部署目录,修改对应的配置文件,然后重启或 reload 服务。这种方式存在以下明显缺陷:
名字还没想好☜20 小时前
开发语言·后端·golang·go
Go for-range 循环变量陷阱:goroutine 里全打印同一个值(Go 1.22 前后差异)你大概率写过这样的代码:开一批 goroutine 并发处理切片里的元素,结果打印出来的值全是最后一个,或者干脆乱序重复。这不是并发调度的锅,而是 for-range 循环变量的作用域问题。这个坑在 Go 1.22 之前坑了无数人,Go 1.22 改了语义之后又出现了「同一份代码在两个版本跑出不同结果」的新问题。这篇把来龙去脉和正确写法一次讲清。
会编程的土豆21 小时前
开发语言·数据库·后端·mysql·golang
功能详解 01 · 用户注册:从表单到数据库一行🥰个人主页:会编程的土豆(欢迎来访) 💎作者简介:后端学习者 ❄️个人专栏:数据结构与算法,数据库,leetcode ✨那些你一个人走过的夜路,终将化作照亮未来的光
go不是csgo21 小时前
笔记·leetcode·golang
从模板到五道 LeetCode:完全背包的 Golang 教学笔记覆盖题目:518. 零钱兑换 II、322. 零钱兑换、377. 组合总和 IV、279. 完全平方数、139. 单词拆分。
Wang's Blog21 小时前
开发语言·微服务·golang·go-zero
Go-Zero项目开发33: IM实时通信前后端对接与微服务基础设施实践前端基于Vue构建,目录组织如下:项目启动后,通过 npm run serve 运行前端服务,默认会配置后端API与WebSocket地址,通常指向网关。
布朗克1685 天前
开发语言·后端·golang
Go 入门到精通-28-反射机制📅 更新于 2026年7月 | ✍️ 原创文章,转载请注明出处 | 🧑‍💻 作者:布朗克168反射(Reflection) 是程序在运行时检查、访问和修改自身结构和行为的能力。在 Go 中,反射由 reflect 标准库提供,是所有序列化库、ORM 框架、依赖注入容器和单元测试框架的底层基石。
Wang's Blog1 天前
开发语言·golang
Go-Zero 项目开发22:用户群聊功能的实现与完善群聊消息采用读扩散方案:所有群成员共享同一条消息记录,避免为每个用户存储一份副本。与私聊相同,消息记录在同一张 chat_log 表中,通过两个字段区分场景:
Wang's Blog1 天前
开发语言·后端·golang
Go-Zero项目开发24: 基于Bitmap实现群聊消息已读未读在即时通讯系统中,消息的已读/未读状态对用户体验至关重要。本次技术实践将基于go-zero框架,结合Bitmap实现群聊消息的已读未读功能。Bitmap以高效的空间利用率记录大量用户对单条消息的阅读状态,特别适合群聊中成员众多的场景。需要前后端协同,前端上报已读消息ID,服务端更新对应消息的Bitmap,并通过WebSocket将已读状态变更推送给相关用户。
xcLeigh5 天前
android·java·golang·go·教程
Go入门:Go源文件的基本结构解析大家好,我是你们的Go语言向导。前面几篇文章我们学习了包的概念和导入机制。今天我们把目光聚焦到一个 .go 文件的内部,深入理解Go源文件的基本结构。就像一个HTML页面有固定的结构(DOCTYPE、head、body),一个Go源文件也有它标准的组织方式。
布朗克1682 天前
开发语言·后端·golang·unsafe·cgo
Go 入门到精通-33-unsafe 与 CGO📅 更新于 2026年7月 | ✍️ 原创文章,转载请注明出处Go 以内存安全和简洁著称,但有时我们需要突破这些限制——高性能场景下的零拷贝转换、与遗留 C 库的互操作、底层内存布局操控等。unsafe 和 CGO 就是 Go 提供的两把"双刃剑":它们强大而危险,掌握它们意味着你能触及 Go 语言的底层边界,但使用不当也可能伤及自身。本文将带你安全地驾驭这两项高级特性。
ttwuai2 天前
数据库·mysql·golang
AI 生成后台删除按钮后,MySQL 软删除和唯一索引怎么验AI 把后台删除按钮和接口生成出来以后,最危险的地方不是“会不会删”,而是删完以后系统看起来正常,数据却开始悄悄乱掉:用户重新创建时报唯一索引冲突,普通账号绕过前端直接调用删除接口,恢复数据时撞上新记录,列表里看不见的旧数据还在影响统计。
Wang's Blog2 天前
golang·kafka
Go-Zero 项目开发19:基于 Kafka 的异步消息存储与转发实战在之前的实现中,我们已经完成了 im-chat(WebSocket 接入服务)和 im-task(Kafka 消费者服务)的基础搭建,消息收发流程已初步解耦。本文将基于该架构,深入完成以下四个关键步骤:
小莫分享2 天前
linux·运维·golang·开源·ssh
sshw:用交互搜索和 Web 配置高效管理 SSH ServerSSH在日常开发和运维中,我们经常需要在开发、测试、预发布和生产环境之间切换。当服务器数量逐渐增加后,完整的 ssh 命令越来越难记,散落的主机地址、端口、用户名和密钥也越来越难维护。
名字还没想好☜2 天前
开发语言·后端·golang·go·内存对齐
Go 结构体内存对齐:调整字段顺序,同样的字段省下 40% 内存你有没有遇到过这种情况:一个结构体明明就几个字段,unsafe.Sizeof 打出来的数字却比你手算的大一截?字段类型没变、数量没变,只是把字段顺序换了一下,内存占用居然从 24 字节掉到 16 字节。这不是玄学,是 Go 的内存对齐在起作用。这篇就把这件事讲透,顺便给你一个能直接用的排查手段。
FfHUCisI2 天前
golang
sync.Mutex 互斥锁当多个 goroutine 同时读写同一个变量时,会发生数据竞争(data race)。比如银行账户的例子:
牛奔2 天前
开发语言·后端·golang
Go 如何打印调试深层或嵌套的结构体在 Go 开发中,遇到多层嵌套的结构体、map、slice 时,fmt.Println 的输出往往一团乱,很难快速看清结构。