技术栈
golang
布朗克168
4 天前
开发语言
·
后端
·
golang
Go 入门到精通-28-反射机制
📅 更新于 2026年7月 | ✍️ 原创文章,转载请注明出处 | 🧑💻 作者:布朗克168反射(Reflection) 是程序在运行时检查、访问和修改自身结构和行为的能力。在 Go 中,反射由 reflect 标准库提供,是所有序列化库、ORM 框架、依赖注入容器和单元测试框架的底层基石。
Wang's Blog
3 小时前
开发语言
·
golang
Go-Zero 项目开发22:用户群聊功能的实现与完善
群聊消息采用读扩散方案:所有群成员共享同一条消息记录,避免为每个用户存储一份副本。与私聊相同,消息记录在同一张 chat_log 表中,通过两个字段区分场景:
Wang's Blog
5 小时前
开发语言
·
后端
·
golang
Go-Zero项目开发24: 基于Bitmap实现群聊消息已读未读
在即时通讯系统中,消息的已读/未读状态对用户体验至关重要。本次技术实践将基于go-zero框架,结合Bitmap实现群聊消息的已读未读功能。Bitmap以高效的空间利用率记录大量用户对单条消息的阅读状态,特别适合群聊中成员众多的场景。需要前后端协同,前端上报已读消息ID,服务端更新对应消息的Bitmap,并通过WebSocket将已读状态变更推送给相关用户。
xcLeigh
3 天前
android
·
java
·
golang
·
go
·
教程
Go入门:Go源文件的基本结构解析
大家好,我是你们的Go语言向导。前面几篇文章我们学习了包的概念和导入机制。今天我们把目光聚焦到一个 .go 文件的内部,深入理解Go源文件的基本结构。就像一个HTML页面有固定的结构(DOCTYPE、head、body),一个Go源文件也有它标准的组织方式。
布朗克168
9 小时前
开发语言
·
后端
·
golang
·
unsafe
·
cgo
Go 入门到精通-33-unsafe 与 CGO
📅 更新于 2026年7月 | ✍️ 原创文章,转载请注明出处Go 以内存安全和简洁著称,但有时我们需要突破这些限制——高性能场景下的零拷贝转换、与遗留 C 库的互操作、底层内存布局操控等。unsafe 和 CGO 就是 Go 提供的两把"双刃剑":它们强大而危险,掌握它们意味着你能触及 Go 语言的底层边界,但使用不当也可能伤及自身。本文将带你安全地驾驭这两项高级特性。
ttwuai
10 小时前
数据库
·
mysql
·
golang
AI 生成后台删除按钮后,MySQL 软删除和唯一索引怎么验
AI 把后台删除按钮和接口生成出来以后,最危险的地方不是“会不会删”,而是删完以后系统看起来正常,数据却开始悄悄乱掉:用户重新创建时报唯一索引冲突,普通账号绕过前端直接调用删除接口,恢复数据时撞上新记录,列表里看不见的旧数据还在影响统计。
Wang's Blog
14 小时前
golang
·
kafka
Go-Zero 项目开发19:基于 Kafka 的异步消息存储与转发实战
在之前的实现中,我们已经完成了 im-chat(WebSocket 接入服务)和 im-task(Kafka 消费者服务)的基础搭建,消息收发流程已初步解耦。本文将基于该架构,深入完成以下四个关键步骤:
小莫分享
14 小时前
linux
·
运维
·
golang
·
开源
·
ssh
sshw:用交互搜索和 Web 配置高效管理 SSH Server
SSH在日常开发和运维中,我们经常需要在开发、测试、预发布和生产环境之间切换。当服务器数量逐渐增加后,完整的 ssh 命令越来越难记,散落的主机地址、端口、用户名和密钥也越来越难维护。
名字还没想好☜
14 小时前
开发语言
·
后端
·
golang
·
go
·
内存对齐
Go 结构体内存对齐:调整字段顺序,同样的字段省下 40% 内存
你有没有遇到过这种情况:一个结构体明明就几个字段,unsafe.Sizeof 打出来的数字却比你手算的大一截?字段类型没变、数量没变,只是把字段顺序换了一下,内存占用居然从 24 字节掉到 16 字节。这不是玄学,是 Go 的内存对齐在起作用。这篇就把这件事讲透,顺便给你一个能直接用的排查手段。
FfHUCisI
15 小时前
golang
sync.Mutex 互斥锁
当多个 goroutine 同时读写同一个变量时,会发生数据竞争(data race)。比如银行账户的例子:
牛奔
1 天前
开发语言
·
后端
·
golang
Go 如何打印调试深层或嵌套的结构体
在 Go 开发中,遇到多层嵌套的结构体、map、slice 时,fmt.Println 的输出往往一团乱,很难快速看清结构。
geovindu
1 天前
开发语言
·
后端
·
算法
·
golang
·
迭代算法
go: Iterative Algorithms
项目结构:调用:介绍了一个基于Go语言实现的珠宝行业迭代算法系统,主要包含三个核心功能模块:钻石推荐服务:根据预算和材质要求,通过综合评分算法(考虑克拉、颜色、净度权重)匹配最优钻石与戒托组合。
kite0121
1 天前
开发语言
·
后端
·
golang
Go语言Map深度解析与最佳实践
Map 是 Go 语言中核心的键值对(K-V)集合容器,基于哈希表实现,凭借 O(1) 级别的增删查效率,成为后端开发中使用频率最高的数据结构之一。绝大多数开发者仅掌握 Map 的基础增删改查用法,但对其底层存储、扩容机制、无序特性、各类经典坑点、并发方案及参数传参问题认知不足,极易在业务开发中引发 bug、内存冗余、并发 panic 等问题。
FfHUCisI
2 天前
开发语言
·
学习
·
golang
Golang学习-约瑟夫环问题(Josephus Problem)
约瑟夫环是一个经典的数学与计算机科学问题。其情景如下:N 个人围成一圈,编号 1~N。从编号 1 开始报数,报到 M 的人出列;下一位从 1 重新开始报数,再报到 M 的人出列……如此循环,直到只剩最后一人。求最后幸存者的原始编号。
Wang's Blog
2 天前
开发语言
·
后端
·
golang
Go-Zero 项目开发21: 实现离线消息拉取与会话管理
在即时通讯系统中,“离线消息”指的是当目标用户不在线时,为其暂存的消息。用户下次上线后需要主动拉取这些消息,并更新会话已读状态。整体涉及以下子模块:
会编程的土豆
2 天前
数据库
·
mysql
·
golang
结构体 struct:用代码描述用户、订单、座位
🥰个人主页:会编程的土豆(欢迎来访) 💎作者简介:后端学习者 ❄️个人专栏:数据结构与算法,数据库,leetcode ✨那些你一个人走过的夜路,终将化作照亮未来的光
llwszx
2 天前
java
·
python
·
golang
·
agent开发
·
plan模式
·
规划执行模式
【Java/Go后端手撸原生Agent(第九篇):Plan-and-Execute规划模式——从“走一步看一步“到“先谋后动“】
系列目录:[Phase 1-2 基础框架] → [Phase 3 状态机+文件读取] → [Phase 4-6 原生FC+Judge校验] → [Phase 5 多工具并行+BashTool] → [Phase 6 流式输出] → [Phase 7 Token预算与滑动窗口] → [Phase 8 摘要压缩] → Phase 9 规划模式(本文) 上一篇链接:【Java/Go后端手撸原生Agent(第八篇):摘要压缩——让Agent“记要点“而不是“记流水账“】
灯澜忆梦
2 天前
网络
·
golang
·
php
GO_网络编程---文件传输实战
发送端 (客户端) ↔ 接收端 (服务端) 自定义简易传输协议:gogo
北冥you鱼
2 天前
开发语言
·
后端
·
golang
Go 语言新手扫盲:指针 * 和 & 使用场景详解
在 Go 语言中,指针是一个让许多初学者感到困惑但又至关重要的概念。与 Python、Java 等语言不同,Go 保留了显式的指针操作,这既带来了性能优势,也增加了代码的灵活性。本文将深入浅出地讲解 Go 语言中指针符号 * 和 & 的核心概念、使用场景以及最佳实践,帮助你彻底掌握这一重要特性。
Wang's Blog
3 天前
开发语言
·
后端
·
golang
Go-Zero项目开发17: IM私聊功能实现与消息存储设计
在前几篇文章中,我们基于 go-zero 框架成功搭建了 WebSocket 服务,实现了 JWT 鉴权和心跳检测。现在,IM 服务的基础设施已经准备就绪,接下来就要进入即时通讯的核心业务——私聊。本文将首先分析私聊的实现流程,介绍消息传递中的“推拉”模式,以及消息存储中的“读扩散”与“写扩散”策略。随后,我们将结合 MongoDB,在已有的 WebSocket 服务基础上,完整实现用户与好友之间的私聊功能,包括消息持久化与实时推送。