技术栈
golang
Achou.Wang
6 小时前
大数据
·
算法
·
golang
深入理解go语言-第5章 并发编程——Go的灵魂
“Don’t communicate by sharing memory; share memory by communicating.” —— Go proverb
呐抹倾
19 小时前
笔记
·
学习
·
golang
go学习笔记:panic是什么含义
各位小伙伴,今天我们来聊一个在Go语言里既让人“闻风丧胆”又不得不掌握的概念——panic。很多初学者一看到程序崩溃,就以为是panic的锅,但其实panic只是“报告问题”的机制,真正的“锅”往往是我们自己代码的逻辑漏洞。今天我就用大白话,结合代码示例,带大家彻底搞懂panic的含义、触发时机以及如何优雅地处理它。### 什么是panic?——程序眼中的“紧急刹车”想象一下你正在开车,突然前面出现一个横穿马路的行人,你本能地猛踩刹车,同时按喇叭提醒周围。panic就像这个“急刹车”——当程序遇到无法继续
不在逃避q
13 小时前
redis
·
笔记
·
golang
Golang笔记之Redis
大家好,我是你们的老朋友,一个喜欢折腾技术的博主。今天咱们来聊聊Go语言和Redis这对黄金搭档。Redis作为一款高性能的内存数据库,在缓存、队列、分布式锁等场景下几乎是标配。而Go语言凭借其高并发、简洁的语法,天然适合与Redis配合使用。这篇文章我会从零开始,带你用Golang操作Redis,包括安装、连接、基本操作和几个实用场景,全程代码示例,保证你能跟着跑起来。### 为什么是Go + Redis?先废话两句。Redis是单线程模型,但它速度极快,因为基于内存操作。而Go的goroutine可以
名字还没想好☜
9 小时前
java
·
数据库
·
golang
·
go
·
goroutine
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
你写了一个经典的「干活 or 超时」循环,跑一段时间发现内存慢慢涨、GC 越来越频繁,pprof 一看全是 time.Timer 对象堆着不释放。代码看着人畜无害:
ttwuai
11 小时前
前端
·
golang
GoFrame 后台日志清空失败:无 WHERE 删除为什么被拦住
GoFrame 后台里“清空全部日志”不要直接写成无条件 Delete。ORM 拦住无 WHERE 删除,通常是在防误删,不是框架莫名其妙。正确做法是把“清空全部”当成一个显式后台动作:接口先挂权限码,后端使用专门的清理逻辑或明确安全条件,执行前后读取日志数量和分页 total,再把操作者、时间、影响行数写进审计日志。
进击的程序猿~
12 小时前
开发语言
·
面试
·
golang
Go 并发底层原理面试学习指南
Goroutine是Go语言中的轻量级线程,由Go运行时调度。核心特点:Channel是Goroutine之间通信的管道,基于CSP模型。
geovindu
19 小时前
开发语言
·
后端
·
golang
go:loghelper
调用:Go语言实现的日志工具包loghelper,主要功能包括:核心特性:使用示例展示了如何注册脱敏回调、告警回调,以及通过不同模块记录日志。该工具适用于需要结构化日志、敏感信息保护和资源监控的中大型项目。
会编程的土豆
21 小时前
开发语言
·
http
·
golang
GoWeb 处理请求详解:请求行、请求头、请求参数与给客户端响应
🥰个人主页:会编程的土豆(欢迎来访) 💎作者简介:后端学习者 ❄️个人专栏:数据结构与算法,数据库,leetcode ✨那些你一个人走过的夜路,终将化作照亮未来的光
北冥you鱼
2 天前
数据库
·
sql
·
golang
Go语言 sql.Null 类型详解:处理数据库 NULL 值的正确姿势
在 Go 语言中操作数据库时,一个常见且棘手的问题是如何处理 SQL 中的 NULL 值。Go 的基本数据类型(如 int、string、bool)无法直接表示 SQL 的 NULL 状态。如果数据库某字段为 NULL,而 Go 代码尝试将其扫描(Scan)到一个 int 变量中,将会导致错误。
朋克洛德的码农
2 天前
开发语言
·
数据结构
·
golang
go并发的核心数据结构--channel
go语言并发的核心哲学是:不要通过共享内存来通信,而要通过通信来共享内存。channel(通道)就是go语言提供的协程间的通信方式,用来传递数据、同步状态、协调并发,从底层避免了共享内存带来的竞态问题,是 Go 原生并发编程的标准方案。
北冥you鱼
2 天前
数据库
·
sql
·
golang
Go语言 database/sql 包常见方法解析与最佳实践
Go 语言标准库中的 database/sql 包为关系型数据库操作提供了统一的接口,是 Go 语言进行数据库开发的核心。它采用“驱动 + 接口”的设计模式,使得开发者可以用一套 API 操作不同的数据库(如 MySQL、PostgreSQL、SQLite 等),极大提升了代码的可移植性和可维护性。
Wang's Blog
2 天前
开发语言
·
golang
·
go-zero
·
filebeat
Go-Zero 项目开发43:基于 Filebeat 收集各个服务的日志信息
在微服务架构中,日志分散在各个服务节点上。Logstash 虽然具备强大的日志采集、过滤和转发能力,但它由 Java 实现,启动速度较慢,运行时内存占用较高。如果让 Logstash 和业务服务部署在同一台机器上,很容易与业务进程争抢 CPU 和内存资源,影响核心服务的稳定性。
FellAveal
3 天前
笔记
·
学习
·
golang
【Go语言入门学习笔记】Part19.速率控制、原子计数器、互斥锁(Mutex)、状态协程
一、前言一些关于并发操作的组件。二、学习代码速率控制:原子计数器:互斥锁:状态协程:
Wang's Blog
3 天前
golang
·
prometheus
·
go-zero
Go-Zero 项目开发44:集成 Kibana 日志可视化与 Prometheus 性能监控
在微服务架构下,服务实例往往分散在多台机器上,传统的单机监控手段已无法满足需求。我们需要一套能够聚合日志、可视化分析,同时又能实时监控服务性能指标的方案。本文将基于 go-zero 框架,结合 ELK(Elasticsearch、Logstash、Kibana)与 Prometheus,演示如何从零构建日志可视化仪表盘,并对各个服务进行性能监控。
JL15
3 天前
java
·
架构
·
golang
Java+Go 混合架构怎么搭?收官 50 道面试题 + 学习路线
本文为《Java工程师转Go实战》连载 第 20 篇 / 共 20 篇 上一篇:Java CRUD 迁移实战
Wang's Blog
3 天前
golang
·
grafana
·
prometheus
Go-Zero 项目开发45: Prometheus + Grafana 安装部署与服务监控实战
Prometheus 是一套开源的监控与告警系统,它通过拉取(Pull)模式从各个目标服务的 /metrics 端点采集时序数据。采集方式主要分为两种:
FellAveal
3 天前
笔记
·
学习
·
golang
【Go语言入门学习笔记】Part18.工作池与WaitGroup(也即协程池)
一、前言两个功能相似的多个同类协程使用同类资源时候需要用到的协程池,满足并发工作需求。二、学习代码工作池:用result通道来收集完成情况
geovindu
4 天前
开发语言
·
后端
·
算法
·
golang
·
搜索算法
go: Breadth First Search Algorithm and Depth First Search Algorithm
项目结构:调用:输出:
Wang's Blog
4 天前
开发语言
·
分布式
·
golang
Go-Zero项目开发40: 基于Jaeger的分布式链路跟踪实战
在一个典型的IM系统中,客户端A向客户端B发送消息,底层实际流程如下:当客户端B无法收到消息时,问题可能出现在任意环节:发送时未指定正确的目标、消费者推送逻辑错误、WebSocket 推送失败等。面对分布式环境下的长调用链,传统的日志排查显得力不从心。分布式链路跟踪正是为了应对这一难题,通过记录一次请求在多个服务间的完整路径,帮助开发者快速定位故障点、分析性能瓶颈,并梳理服务依赖关系。
TDengine (老段)
4 天前
大数据
·
数据库
·
物联网
·
golang
·
rust
·
时序数据库
·
tdengine
TDengine Go 与 Rust 连接器 — 高性能异步访问
分类:11.客户端与连接器 | 篇章:05 Go/Rust 连接器 详情Go 和 Rust 连接器都是 TDengine 高性能场景的常用选择,常用于编写数据采集网关、流处理服务、TaosX 插件。本文统一讲解两者用法。