golang

ttwuai6 小时前
开发语言·golang·开源
Go后台管理系统开源项目:4个官方仓库怎么追溯和核验结论:Go后台管理系统开源项目不能只看搜索位置或 Stars。应该先核验唯一 owner/repo、权限入口、License、最近提交和交付边界,再决定是否做 PoC。2026-10-07 核验后进入候选表的是 XYGo Admin、HotGo、Gin-Vue-Admin、go-admin-team/go-admin。前两个以 GoFrame 为核心,后两个走 Gin 路线;团队已经固定 Gin、只想嵌入数据面板、只做轻量 API,或明确需要 Go-Zero 微服务治理时,不应默认选择 XYGo。
谢亮_vipxieliang6 小时前
开发语言·后端·golang
Go Worker Pool 设计——从原理到生产级实现在 Go 的高并发编程中,goroutine 虽然轻量,但无限创建依然会带来调度开销、内存压力和资源耗尽的风险。Worker Pool(工作池)正是为了解决这一问题而生的经典模式:限制并发数、复用 goroutine、控制资源消耗。
谢亮_vipxieliang7 小时前
java·数据库·golang
Go Channel 高级模式——从底层原理到扇出扇入实战Channel 是 Go 并发编程的基石,也是 goroutine 之间通信的核心桥梁。Go 语言的设计哲学强调「不要通过共享内存来通信,而要通过通信来共享内存」,Channel 正是这一理念的具体实现。
谢亮_vipxieliang9 小时前
开发语言·后端·golang
Go WaitGroup与Once——并发同步的基石在 Go 并发编程中,sync.WaitGroup 和 sync.Once 是两个最基础也最常用的同步原语。WaitGroup 用于等待一组 goroutine 完成任务,而 Once 则确保某个函数只执行一次。理解它们的原理与易错点,是写出健壮并发代码的前提。
JWASX9 小时前
学习·golang
Java 转 go 学习 - GRPC(1)本系列文章:grpc 是 Google 开发的 高性能、开源、通用的远程过程调用(RPC)框架,官网如下:gRPC 简介,有需要的可以直接看官网的示例。
北冥you鱼10 小时前
开发语言·后端·golang
Go 语言 Channel 机制详解:从原理到实战在 Go 语言中,Channel(通道)是 goroutine 之间通信的核心机制。Go 的设计哲学强调"不要通过共享内存来通信,而要通过通信来共享内存",Channel 正是这一理念的具体实现。本文将深入剖析 Channel 的底层原理、使用方式与常见陷阱,帮助你真正掌握这一并发编程利器。
谢亮_vipxieliang10 小时前
开发语言·后端·golang
Go 并发控制进阶:sync 包高级原语与 Context 生命周期管理在 Go 语言中,并发编程是核心能力之一。前面我们学习了 goroutine 和 channel 的基础用法,但在实际工程中,我们还需要更精细的并发控制手段。本文将深入讲解 sync 包中的高级并发原语(Mutex、RWMutex、WaitGroup、Once、Pool、Map、Cond)以及 sync/atomic 原子操作,并重点剖析 context 包如何优雅地管理 goroutine 的生命周期。掌握这些工具,你就能根据场景正确选择同步原语,写出高效、健壮的并发程序。
谢亮_vipxieliang11 小时前
开发语言·网络·golang
Go GMP调度模型——从原理到实战的完整指南在 Go 语言的高并发世界里,GMP 调度模型是支撑起成千上万 goroutine 高效运行的基石。很多初学者在接触 Go 并发时,常常被 go func() 的轻量所吸引,却对背后「谁在调度、如何调度、阻塞了怎么办」一头雾水。本文将从核心概念出发,带你完整梳理 GMP 调度模型的三大角色、调度流程、阻塞处理、关键机制,并给出面试答题框架与实战调优建议,帮助你真正画出 GMP 调度图,讲清 goroutine 从创建到执行再到阻塞的全流程。
谢亮_vipxieliang11 小时前
开发语言·golang
Go Context 控制协程生命周期在 Go 的并发编程中,goroutine 的启动非常廉价,但如何优雅地停止它们却是一门学问。直接 kill 一个 goroutine 是不可能的,Go 官方给出的答案是:通过 Context 传递取消信号,让 goroutine 自己决定何时退出。
JWASX12 小时前
学习·golang
Java 转 go 学习 - kitex(2)本系列文章:下面是使用 codex 做的总结。下面是 data.thrift 的内容。我们现在只是学习字段类型,不需要使用服务端客户端,所以使用下面的命令去生成基础数据的代码即可。
福兮说12 小时前
javascript·网络·网络协议·tcp/ip·mysql·golang
IP 地址转整数的七个坑:192.168.1.1 算出负数、127.1 也是合法地址、存进 INT 直接溢出做 IP 白名单、按地区统计访问量、把访问日志落库,迟早要把 IP 字符串转成整数。网上的写法基本就一行 reduce,看着没问题,一上线就开始出怪事:算出来是负数、范围查询漏数据、同一个地址在统计里出现两次。
JWASX14 小时前
学习·golang
Java 转 go 学习 - GRPC(3)本系列文章:grpc 提供了 grpc.UnaryInterceptor(serverUnaryInterceptor) 方法,可以注册方法拦截器,这个拦截器的类型是:
谢亮_vipxieliang14 小时前
服务器·网络·golang
Go 并发安全性保障Go 语言以并发能力著称,goroutine 与 channel 的组合让并发编程变得简单。然而,并发带来的最大挑战是数据竞争(Data Race):当多个 goroutine 同时访问同一个变量,且至少有一个是写操作时,程序的行为将变得不可预测。本篇将系统讲解并发安全的核心知识点、常见误区与实战策略,帮助你写出既高效又安全的并发代码。
汤米粥15 小时前
java·python·golang·php·nodejs·后端开发
后端开发主流技术方案现在后端开发分两大阵营:Java 系(企业主流)、Go 系(云原生 / 高并发),再加 Python/Node.js 快速开发。下面按最主流、最常用给你列一遍,直接照着学就行。 一、Java 后端(国内企业绝对主流) 1. 核心框架 • Spring Boot:项目骨架,必学 • Spring Cloud / Spring Cloud Alibaba:微服务全家桶 • MyBatis / MyBatis-Plus:数据库操作 • Spring Security / Sa-Token / Shiro:权限登
JWASX15 小时前
学习·golang
Java 转 go 学习 - Redis(1)本系列文章:首先 go get github.com/redis/go-redis/v9 下载 v9 版本的依赖,支持 Redis 7.0+ 的客户端,下面编写代码。
JWASX15 小时前
学习·golang
Java 转 go 学习 - Redis(2)本系列文章:正常情况下命令执行的流程就是:发一条命令 → 等待 Redis 返回 → 再发下一条。但是如果需要执行多条命令就需要进行多次命令发送,也就是有多次网络往返的开销,Pipeline 就是解决这个问题,会把 多条命令打包一次发给 Redis → 一次性拿回所有结果,下面是 pipeline 的两种写法。
JWASX16 小时前
学习·golang
Java 转 go 学习 - kitex(1)本系列文章:这篇文章来学习 kitex 的内容,Kitex 是字节跳动开源的 Go 语言微服务 RPC 框架,底层默认传输协议 Thrift,同时也支持 Protobuf,下面是几个核心的特点。
谢亮_vipxieliang16 小时前
开发语言·后端·golang
Go select 多路复用:从语法到实战的完整指南在 Go 语言中,select 是并发编程的核心利器之一。它允许一个 goroutine 同时等待多个 channel 操作,实现多路复用。无论是超时控制、取消响应、非阻塞收发,还是动态分支管理,select 都扮演着不可或缺的角色。
谢亮_vipxieliang1 天前
开发语言·golang·哈希算法
Go map与结构体的正确使用在 Go 语言中,map 和结构体(struct)是日常开发中使用频率最高的两种复合数据类型。map 提供了高效的键值存储与查找能力,而结构体则用于组织相关联的数据字段。然而,这两者在实际使用中隐藏着不少陷阱:向 nil map 写入会 panic、map 遍历顺序随机、并发读写会引发崩溃、结构体比较与拷贝的边界问题等。本篇将系统梳理 map 与结构体的核心知识点、易错点与惯用模式,帮助你写出更稳健的 Go 代码。
microrain1 天前
物联网·golang·开源·sagooiot
先应答,再入库:SagooIoT 接入 GB/T 32960 的四层宿主改造GB/T 32960 里有一条容易被忽略的时序约定:终端每发出一帧,都在等平台回一个通用应答;等不到就判定链路不可用,断开、重连、重新登入。真车上的终端严格照做,于是"平台能不能立刻把回应吐回去"这件事,直接决定这条链路是稳稳挂着,还是每隔几分钟抖一次。