golang

GoFly开发者3 小时前
物联网·mqtt·golang·mqtt broker·mqtt私有化部署
GoFly 社区 GMQT|国产自研 MQTT‑Broker,打造私有化物联网消息底座做物联网开发的同学基本都绕不开 MQTT 消息服务器。选型的时候我们通常面临两个选择:公有云 MQTT 服务,或是开源 Broker。
刘步权5 小时前
golang·hla·rti·高层体系结构·多语言仿真
KY-RTI分布仿真技术:第十四章 Go程序设计本章介绍如何使用Go语言设计基于HLA/RTI标准的聊天仿真程序,详细讲解了程序设计思路、代码实现及运行测试,展示了KY-RTI在Go语言仿真领域的应用,并演示了Go与C++、Java、Python、C#、Rust语言的互操作。
microrain14 小时前
物联网·golang·开源·sagooiot
从数据烟囱到融合中心:SagooIoT统一数据处理平台的设计实践去年冬天的一个凌晨,我被一阵急促的手机铃声吵醒。电话那头是某汽车零部件工厂的王工,声音里带着焦虑:“老赵,我们的MES系统又读不到设备数据了。产线停了快半个小时,生产总监已经在拍桌子了。”
DLYSB_17 小时前
开发语言·后端·golang·报警灯
API 网关流量洪峰与突发 CC 攻击:我用 Go 写了个“现场物理防御哨兵”,把故障响应压缩到秒级在现代云原生架构中,API 网关(如 Istio Envoy、APISIX、Kong)作为核心流量入口,承载着路由转发、鉴权限流与熔断降级(Circuit Breaking)的重任。然而,当遭遇突发流量洪峰、恶意 CC 攻击或下游微服务雪崩触发大面积熔断时,通常会伴随 503 错误率飙升 与 API 延迟陡增。
朋克洛德的码农20 小时前
golang
反射是什么?我们都知道Go是静态类型语言,即如 int、float32、[]string,等等,变量的静态类型在编译期就已经确定;而反射不同,它能在程序运行时动态的检查、修改或操作变量类型与值。
北冥you鱼2 天前
开发语言·后端·golang
Go语言大数(big.Int)比较大小:原理、方法与最佳实践在常规编程中,我们使用 int、int64 等内置整数类型进行数值运算和比较。然而,这些类型有固定的位数限制(例如 int64 的范围是 -2^63 到 2^63-1)。当我们需要处理超出此范围的整数时,例如在密码学、金融计算、科学模拟或处理区块链交易哈希等场景,就必须使用“大整数”(Big Integer)。
xcLeigh2 天前
开发语言·后端·golang
Go入门:零值与变量默认初始化机制大家好,我是你们的Go语言向导。上一篇文章我们学习了变量声明的五种方式,其中提到了一个重要概念——零值。今天我们就来深入探讨Go语言的零值机制和默认初始化原理。
DLYSB_2 天前
数据库·golang·钉钉·报警灯
数据库连接池爆满导致全线宕机:我用 Go 写了个“现场声光报警器”,比钉钉快了 10 倍在高并发微服务与分布式数据库架构中,当遭遇慢 SQL 堆积、缓存击穿或连接池(Connection Pool)爆满时,往往会触发严重的**“级联雪崩”**。传统的 Prometheus + Alertmanager 或 Log 检索系统,在面对秒级爆发的连接数风暴时,往往因 “告警积压延迟” 与 “信息过载” 错失最佳止血时机。
Awna3 天前
开发语言·后端·golang
Golang 大小写可见性规范在 Go 中,首字母大小写决定标识符能否被包外访问,这是语言内置的可见性规则。Go 没有 public、private、protected 关键字,全靠首字母控制。
进击的程序猿~3 天前
开发语言·后端·golang
Go 内存分配与垃圾回收源码深度学习手册本文档基于 Go 1.27+ 源码,深入解析内存分配与垃圾回收的底层实现原理,适合中高级 Go 开发者、架构师及大厂面试准备。
geovindu3 天前
开发语言·后端·算法·golang·位运算法
go:Bit Operation Algorithm调用:输出:
北冥you鱼4 天前
开发语言·后端·golang
Go语言四则运算实战:从基础类型到big包的深度解析在Go语言开发中,四则运算是最基础也是最常用的操作之一。然而,Go语言在数值运算方面有着独特的设计哲学:基本类型支持直接运算符操作,而大数运算则需要通过big包的方法调用。这种设计既保证了简单场景的便捷性,又为高精度计算提供了可靠支持。
Wang's Blog5 天前
开发语言·微服务·golang
Go-Zero 项目开发47:自研微服务框架的必要性与核心结构设计在微服务开发领域,Go 语言生态已经涌现出大量成熟框架,如 go-zero、go-micro、kratos、tarsgo、dubbo-go 等。这些框架各有侧重,有的绑定特定公司基础设施,有的追求极简与高性能。即便如此,仍有许多团队选择自研微服务框架。这并非重复造轮子,而是基于对技术深度、业务定制和长期演进的综合考量。本文将结合实际项目经验,从需求出发,探讨自研框架的价值,并以 go-zero@latest 的设计哲学为参考,设计一款微服务框架的核心目录结构,并给出可运行的代码骨架。
名字还没想好☜5 天前
开发语言·后端·golang·go
Go 用 bufio.Scanner 读大文件踩坑:默认 64KB 行上限、Buffer 扩容与按 Token 切分用 Go 逐行读文件,几乎所有人第一反应都是 bufio.Scanner,写法也确实优雅:小文件跑得好好的,直到某天你的程序读一个日志文件突然「读一半就停了」,还不报 panic。你以为文件读完了,其实是撞上了 bufio.Scanner 一个藏得很深的默认限制:单行超过 64KB 它就悄悄停下,而且默认吞掉错误。这篇我们把这个坑和相关的用法讲透。
techdashen5 天前
开发语言·后端·golang
Go设计取舍之六: sync.Mutex正常模式与饥饿模式2023 年 6 月 3 日,在 golang-nuts 询问了 sync.Mutex 源码注释中的 waiter 和饥饿模式。Ian Lance Taylor 参与回复,共有 6 封邮件。完整讨论:Can we further optimize the scheduling order of goroutines in sync.Mutex?。
立心者06 天前
开发语言·笔记·golang
Golang基础笔记十五之sync在并发编程的世界里,Golang 的 goroutine 像一群不知疲倦的小精灵,各自独立地执行任务。但当多个 goroutine 同时访问共享资源时,就会引发数据竞争(data race),就像一群人同时抢一个麦克风,场面就会失控。今天我们要聊的 sync 包,就是 Golang 官方提供的“秩序维护者”,它帮我们优雅地解决并发协作问题。### 为什么需要 sync?先看一个反面教材。假设我们要统计一段文本中单词的总数,用多个 goroutine 分别统计不同段落,最后汇总。如果直接用一个共享变量累加,
北冥you鱼5 天前
java·python·golang
Go语言数组越界处理机制详解:从编译时检查到运行时panic在Go语言中,数组是一种固定长度、连续内存的数据结构,其长度在声明时就已经确定,无法在运行时改变。这种设计带来了性能优势,但也引入了一个关键问题:数组越界访问。
FfHUCisI5 天前
贪心算法·golang·代理模式
Golang - 贪心算法 — 局部最优推导全局最优贪心算法的名字听起来像是"贪得无厌",但它其实是一种相当务实的策略:在每一步都选择当前看起来最好的选项,然后寄希望于这一系列局部最优选择最终拼出一个全局最优解。