golang

xcLeigh10 小时前
java·开发语言·golang
Go入门:变量声明的五种方式详解大家好,我是你们的Go语言向导。前面十篇文章我们完成了Go语言的入门准备——环境搭建、设计哲学、工具链、注释规范、命名规则、包系统、文件结构和main包。从今天开始,我们正式进入Go语法的学习。第一个要掌握的知识点就是变量声明。
Achou.Wang2 天前
开发语言·python·golang
深入理解go语言-第6章 接口与面向组合设计“If it walks like a duck and quacks like a duck, it’s a duck.” —— Duck Typing
techdashen19 小时前
开发语言·后端·golang
Go设计取舍之三: 0.3ns每次的错误Benchmark2023 年 11 月 27 日, golang-nuts 分享了一组 Go 1.21 与 Go 1.22 的 benchmark,想确认 string 和 []byte 转换是否获得了新的零分配优化。共有 9 封邮件。原始讨论:It seems that go 1.22 has optimized…。
techdashen20 小时前
开发语言·后端·golang
Go设计取舍之四: map不变时能否并发修改不同value2026 年 7 月 28 日,golang-nuts 上出现了一个很典型的问题:map 已经提前填好,之后不再增删 key,多条 goroutine 分别更新不同 key 对应的 value,是否安全?线程共有 10 封邮件,Ian Lance Taylor 参与回复。原始讨论:Concurrent Access to Map Values?。
名字还没想好☜21 小时前
golang·单元测试·log4j·go·testing
Go 表驱动测试实战:用 t.Run 子测试组织可维护的单元测试你给一个函数写单测,第一版是复制粘贴:测输入 A 断言一段,测输入 B 再抄一遍断言,测边界值又抄一遍。三个用例还好,等长到十几个,某天函数签名改了,你得挨个改十几段几乎一样的代码。更糟的是,一个断言 t.Fatal 挂掉,后面的用例根本没跑,你不知道到底错了几个。Go 社区的标准答案是表驱动测试:把用例做成一张表,循环跑,配合 t.Run 拆成独立子测试。这篇手把手带你从「复制粘贴」重构到「一张表搞定」。
golang学习记21 小时前
golang·claude code
Claude Code写哪种变成语言最快?最近,一个名为 mame/ai-coding-lang-bench 的基准测试在开发者社区引起了不小的讨论。这个测试的设定很有意思:让 Claude Code 用 13 种不同的编程语言,分别实现一个简化版的 Git 系统。每种语言测试 20 次,总共跑了 600 次。结果揭示了一些反直觉的规律,也让我重新思考了 Go 在 AI 辅助开发时代的定位。
ShuiShenHuoLe1 天前
开发语言·golang·html
Go html/template 使用入门用 html/template 把 HTML 文件 + Go 数据 → 渲染成完整 HTML,并自动防 XSS。
Achou.Wang1 天前
大数据·算法·golang
深入理解go语言-第5章 并发编程——Go的灵魂“Don’t communicate by sharing memory; share memory by communicating.” —— Go proverb
呐抹倾2 天前
笔记·学习·golang
go学习笔记:panic是什么含义各位小伙伴,今天我们来聊一个在Go语言里既让人“闻风丧胆”又不得不掌握的概念——panic。很多初学者一看到程序崩溃,就以为是panic的锅,但其实panic只是“报告问题”的机制,真正的“锅”往往是我们自己代码的逻辑漏洞。今天我就用大白话,结合代码示例,带大家彻底搞懂panic的含义、触发时机以及如何优雅地处理它。### 什么是panic?——程序眼中的“紧急刹车”想象一下你正在开车,突然前面出现一个横穿马路的行人,你本能地猛踩刹车,同时按喇叭提醒周围。panic就像这个“急刹车”——当程序遇到无法继续
不在逃避q2 天前
redis·笔记·golang
Golang笔记之Redis大家好,我是你们的老朋友,一个喜欢折腾技术的博主。今天咱们来聊聊Go语言和Redis这对黄金搭档。Redis作为一款高性能的内存数据库,在缓存、队列、分布式锁等场景下几乎是标配。而Go语言凭借其高并发、简洁的语法,天然适合与Redis配合使用。这篇文章我会从零开始,带你用Golang操作Redis,包括安装、连接、基本操作和几个实用场景,全程代码示例,保证你能跟着跑起来。### 为什么是Go + Redis?先废话两句。Redis是单线程模型,但它速度极快,因为基于内存操作。而Go的goroutine可以
名字还没想好☜2 天前
java·数据库·golang·go·goroutine
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势你写了一个经典的「干活 or 超时」循环,跑一段时间发现内存慢慢涨、GC 越来越频繁,pprof 一看全是 time.Timer 对象堆着不释放。代码看着人畜无害:
ttwuai2 天前
前端·golang
GoFrame 后台日志清空失败:无 WHERE 删除为什么被拦住GoFrame 后台里“清空全部日志”不要直接写成无条件 Delete。ORM 拦住无 WHERE 删除,通常是在防误删,不是框架莫名其妙。正确做法是把“清空全部”当成一个显式后台动作:接口先挂权限码,后端使用专门的清理逻辑或明确安全条件,执行前后读取日志数量和分页 total,再把操作者、时间、影响行数写进审计日志。
进击的程序猿~2 天前
开发语言·面试·golang
Go 并发底层原理面试学习指南Goroutine是Go语言中的轻量级线程,由Go运行时调度。核心特点:Channel是Goroutine之间通信的管道,基于CSP模型。
geovindu2 天前
开发语言·后端·golang
go:loghelper调用:Go语言实现的日志工具包loghelper,主要功能包括:核心特性:使用示例展示了如何注册脱敏回调、告警回调,以及通过不同模块记录日志。该工具适用于需要结构化日志、敏感信息保护和资源监控的中大型项目。
会编程的土豆2 天前
开发语言·http·golang
GoWeb 处理请求详解:请求行、请求头、请求参数与给客户端响应🥰个人主页:会编程的土豆(欢迎来访) 💎作者简介:后端学习者 ❄️个人专栏:数据结构与算法,数据库,leetcode ✨那些你一个人走过的夜路,终将化作照亮未来的光
北冥you鱼3 天前
数据库·sql·golang
Go语言 sql.Null 类型详解:处理数据库 NULL 值的正确姿势在 Go 语言中操作数据库时,一个常见且棘手的问题是如何处理 SQL 中的 NULL 值。Go 的基本数据类型(如 int、string、bool)无法直接表示 SQL 的 NULL 状态。如果数据库某字段为 NULL,而 Go 代码尝试将其扫描(Scan)到一个 int 变量中,将会导致错误。
朋克洛德的码农3 天前
开发语言·数据结构·golang
go并发的核心数据结构--channelgo语言并发的核心哲学是:不要通过共享内存来通信,而要通过通信来共享内存。channel(通道)就是go语言提供的协程间的通信方式,用来传递数据、同步状态、协调并发,从底层避免了共享内存带来的竞态问题,是 Go 原生并发编程的标准方案。
北冥you鱼3 天前
数据库·sql·golang
Go语言 database/sql 包常见方法解析与最佳实践Go 语言标准库中的 database/sql 包为关系型数据库操作提供了统一的接口,是 Go 语言进行数据库开发的核心。它采用“驱动 + 接口”的设计模式,使得开发者可以用一套 API 操作不同的数据库(如 MySQL、PostgreSQL、SQLite 等),极大提升了代码的可移植性和可维护性。
Wang's Blog3 天前
开发语言·golang·go-zero·filebeat
Go-Zero 项目开发43:基于 Filebeat 收集各个服务的日志信息在微服务架构中,日志分散在各个服务节点上。Logstash 虽然具备强大的日志采集、过滤和转发能力,但它由 Java 实现,启动速度较慢,运行时内存占用较高。如果让 Logstash 和业务服务部署在同一台机器上,很容易与业务进程争抢 CPU 和内存资源,影响核心服务的稳定性。
FellAveal4 天前
笔记·学习·golang
【Go语言入门学习笔记】Part19.速率控制、原子计数器、互斥锁(Mutex)、状态协程一、前言一些关于并发操作的组件。二、学习代码速率控制:原子计数器:互斥锁:状态协程: