golang

谢亮_vipxieliang3 小时前
开发语言·golang·哈希算法
Go map与结构体的正确使用在 Go 语言中,map 和结构体(struct)是日常开发中使用频率最高的两种复合数据类型。map 提供了高效的键值存储与查找能力,而结构体则用于组织相关联的数据字段。然而,这两者在实际使用中隐藏着不少陷阱:向 nil map 写入会 panic、map 遍历顺序随机、并发读写会引发崩溃、结构体比较与拷贝的边界问题等。本篇将系统梳理 map 与结构体的核心知识点、易错点与惯用模式,帮助你写出更稳健的 Go 代码。
microrain4 小时前
物联网·golang·开源·sagooiot
先应答,再入库:SagooIoT 接入 GB/T 32960 的四层宿主改造GB/T 32960 里有一条容易被忽略的时序约定:终端每发出一帧,都在等平台回一个通用应答;等不到就判定链路不可用,断开、重连、重新登入。真车上的终端严格照做,于是"平台能不能立刻把回应吐回去"这件事,直接决定这条链路是稳稳挂着,还是每隔几分钟抖一次。
谢亮_vipxieliang13 小时前
开发语言·后端·golang
Go defer、panic与recover核心知识点Go 语言中的 defer、panic 与 recover 是错误处理与资源管理的三驾马车。defer 用于延迟执行清理逻辑,panic 用于抛出异常,recover 用于捕获异常。理解它们的执行时机与传播机制,是写出健壮 Go 代码的关键。本篇将系统梳理这些核心知识点,并剖析常见易错点。
谢亮_vipxieliang14 小时前
开发语言·后端·golang
Go基础数据类型全解在 Go 语言的学习旅程中,数据类型是构建一切程序的基石。无论是简单的变量声明,还是复杂的业务逻辑,都离不开对数据类型的深入理解。本篇将系统性地梳理 Go 语言的四大类型分类,帮助你建立清晰的知识框架,为后续的进阶学习打下坚实基础。
谢亮_vipxieliang15 小时前
开发语言·ios·golang
Go 接口设计原则核心知识点接口是 Go 语言中最具特色的设计之一。它不仅是类型系统的重要组成部分,更是实现松耦合、可测试代码的关键工具。本篇将围绕接口设计原则的核心知识点展开,帮助你掌握接口的隐式实现机制,并设计出小而精的接口。
谢亮_vipxieliang15 小时前
java·开发语言·golang
Go 结构体与方法集核心知识点在 Go 语言中,结构体(struct)是组织数据的基础,而方法(method)则是让这些数据具备行为能力的桥梁。本篇将围绕「方法接收者」这一核心概念展开,重点讲解值接收者与指针接收者的区别、方法集的规则,以及嵌入(Embedding)带来的方法提升机制。理解这些知识点,是写出符合 Go 惯用风格代码的关键一步。
microrain1 天前
物联网·golang·开源·sagooiot
同一个寄存器,四种读法:SagooIoT Modbus 驱动的字节序、宽度与功能码把 1.5 这个数写进两个连续的保持寄存器,再读回来,你可能拿到 1.5,也可能拿到 1078984704;把 25.6 写进一个输入寄存器再读回来,可能还是 25.6,也可能变成 2560。
JWASX1 天前
学习·golang
Java 转 go 学习 - 并发编程(2)本系列文章:time 包中的 Ticket 计时器可以结合通道使用:每隔固定时间自动触发一次,通过内置的只读通道发送时间信号,直到手动停止,有下面特点:
ttwuai1 天前
开发语言·golang·开源
Go开源后台管理系统推荐:README、源码和License应该怎么验Go开源后台管理系统推荐这类搜索结果,最容易把“被文章提到”误当成“项目能力已经确认”。更稳的做法是先追到唯一的 owner/repo,再分三层核验:GitHub 元数据确认仓库状态、License 和维护时间;README确认作者公开声明;源码与最小 PoC 检查权限、生成器和数据库脚本是否真的落地。2026-10-05 按同一口径完成核验的候选有一个作者维护的 GoFrame + Vue3 项目、GFast、HotGo 和 GoAdmin。前三个都与 GoFrame 生态有关,但项目范围不同;GoAd
JWASX1 天前
学习·golang
Java 转 go 学习 - 并发编程(1)本系列文章:Go 最大的特点之一就是协程,协程可以看作轻量级的线程,下面来看下进程、线程、协程之间的关系。
JWASX2 天前
学习·golang
Java 转 go 学习 - 接口本系列文章:上一篇文章我们学习了结构体,这一篇文章就来看下 Go 中的接口。Go 不是面向对象编程语言,不像 Java,没有类和继承的概念,但是和 Java 一样,Go 里面也有接口,通过接口同样可以实现很多面向对象的特性,下面是基本语法。
小小龙学IT2 天前
前端·golang
Go 语言 reflect 反射包深度解析:从 Type/Value 到三大定律与工业实践Go 是一门强静态类型语言,绝大多数类型信息在编译期就已确定:但有一类代码在编写时并不知道运行时会遇到什么类型,却要对该类型的结构做通用处理:
JWASX2 天前
学习·golang
Java 转 go 学习 - 并发编程(3)本系列文章:惰性生成器就是按需计算并返回值的机制,通过 channel 和 goroutine 结合实现,仅仅在需要的时候才生成下一个值,而不是一次性返回整个序列,通过这种方式可以节省内存,提高处理大数据流的效率。
未来之窗软件服务2 天前
开发语言·golang·仙盟创梦ide·东方仙盟
Go 利器 GoReSym:剥离符号恢复 Go 二进制元数据—东方仙盟⚠️ 重要前置声明 本文仅做公开开源工具技术原理学习与研究分享。该工具仅限用于分析你自己拥有所有权的程序,或是已经获得程序所有者书面授权许可的二进制文件。严禁在未获得授权的情况下,对第三方程序、商业软件、恶意样本开展逆向、解析等操作。 本文不提供逆向工程相关业务,不承接相关逆向项目。文中仅介绍公开仓库内的工具,工具版权归属原作者 Mandiant 公司。工具使用者需要自行承担使用工具带来的全部法律责任,本文及分享者不对任何违规使用行为承担责任。
念何架构之路2 天前
云原生·golang
zap WriteSyncer与Sink体系为什么需要锁? os.File 的单次 Write 是原子的,但"Write + Sync"组合不原子;更重要的是自定义 Writer(如 bufio.Writer、你的 Kafka sink)大多非并发安全。zap 的规则:New(core) 默认给 errorOutput 加 Lock(logger.go:75),Open 返回值自动 Lock(writer.go:97);手工传给 NewCore 的 WriteSyncer 自己负责。
microrain3 天前
物联网·golang·开源·sagooiot
权限改了,接口立刻生效,菜单要等重新登录:SagooIoT 权限体系的四道闸门给一个角色勾完权限,点保存,接口返回 200。让那个用户刷新页面——菜单还是旧的。这不是 bug。在 SagooIoT 的权限体系里,"这个接口你能不能调"和"这个菜单按钮显不显示"走的是两条路:一条每次请求都去数据库问一遍,另一条的结果被缓存到用户下次登录为止。两边的生效时间自然对不上。
大侠归来3 天前
java·c语言·golang
C 与 Go 语言对比:从设计哲学到工程实践C 语言诞生于 1972 年,由 Dennis Ritchie 在贝尔实验室开发,是系统编程领域的基石;Go 语言则诞生于 2009 年,由 Google 的 Robert Griesemer、Rob Pike 和 Ken Thompson 设计,旨在解决大规模分布式系统的开发效率问题。两者虽然都强调简洁与高效,但在设计哲学、内存管理、并发模型和工程实践上有着显著差异。本文将从多个维度对 C 与 Go 进行对比,帮助读者根据实际需求做出技术选型。
小小龙学IT4 天前
golang·go1.19
Go 语言内存管理与垃圾回收(GC)深度解析:从逃逸分析到性能调优适适用版本:Go 1.21+(覆盖 Go 1.19 引入的 GOMEMLIMIT 软内存限制、1.20 起默认关闭部分 GC 选项等演进)。
HEJOO94 天前
开发语言·算法·golang
Go 语言结构体定义与实例详解在 Go 语言中,结构体(struct)是一种聚合数据类型,它可以将多个不同类型的字段组合成一个整体。结构体是 Go 语言实现面向对象编程的基础,也是日常开发中最常用的自定义类型之一。本文将详细介绍结构体的定义方式、实例化方法以及常见的使用技巧。
墨鱼老师4 天前
vue.js·golang·go·gin·前后端分离·计算机毕业设计·go 后端
Go+Gin+Vue 毕设项目:Gin 框架搭建后端基础接口实战很多计算机专业同学做毕设不想用传统 Java,会选择 Go 语言 + Gin 框架来做后端,搭配 Vue 前端实现前后端分离项目。Go 语言部署简单、占用资源少,非常适合毕设演示项目,本篇记录 Gin 后端基础搭建完整流程。