技术栈
go
一个热爱生活的普通人
3 小时前
后端
·
go
Go-excelize库实现 excel web 端导出的最佳实践
通常在后端开发中遇到Excel文件导出是一件常见的需求,在数据量小的情况下,这个功能的开发是很简单的,直接读取数据到内存中一次性写入excel中导出即可,但是通常导出的数据量会比较大,可能会有几十万生成上百万条,这时你就要考虑很多场景,不然你可能会遇到以下问题:
2301_76723322
3 小时前
数据库
·
redis
·
缓存
·
golang
·
go
·
哈希算法
redis中的hash
Hash: 哈希,也叫散列,是一种通过哈希函数将键映射到表中位置的数据结构,哈希函数是关键,它把键转换成索引。
mayl
4 小时前
go
sync.Map原理浅析
sync.Map 常用于并发编程场景,通过原子操作保证读操作的线程安全性,同时利用不可变结构避免数据竞争。
沙雕村民小王
5 小时前
数据结构
·
算法
·
go
·
深度优先
·
图论
代码随想录算法训练营第五十二天|图论专题: 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
1、从左边和后边向中间遍历2、从上边和下边向中间遍历思路依然是从地图周边出发,将周边空格相邻的陆地都做上标记,然后在遍历一遍地图,遇到 陆地 且没做过标记的,那么都是地图中间的 陆地 ,全部改成水域就行。
程序员爱钓鱼
21 小时前
后端
·
游戏
·
go
用Go写一个《植物大战僵尸》小游戏:支持鼠标放僵尸、胜利失败判定!
你有没有想过,用 Go语言 也能写小游戏?今天就带大家用不到 200 行代码,打造一个简版《植物大战僵尸》!
rocksun
1 天前
java
·
node.js
·
go
使用Go降低70%的基础设施成本
Go性能炸裂!实测对比Go/Gin、Java/SpringBoot、Node/Nestjs等框架,Go在CPU、RAM占用上大幅领先,基础设施成本狂降70%!AOT编译、Goroutines、GC优化是关键。选型需综合考虑团队技术栈、功能需求和社区支持。
DemonAvenger
1 天前
分布式
·
go
·
代码规范
深入理解WaitGroup与并发任务编排:从原理到实战的最佳实践
Go语言因其轻量级并发模型而备受开发者青睐,goroutine和channel的组合让并发编程变得简单而优雅。然而,当我们从简单的goroutine调用转向复杂的多任务协同时,如何高效地管理并发任务的执行和同步就成了一个绕不过去的课题。这时,Go标准库中的sync.WaitGroup便崭露头角,成为开发者手中不可或缺的利器。它就像一个“任务完成计数器”,以最小的代码量帮助我们协调goroutine的生命周期,确保所有任务按预期完成。
海风极客
1 天前
后端
·
面试
·
go
搞懂Go泛型,看这一篇就够了
在Go语言1.17版本及后续的升级迭代中,泛型新特性无疑是非常重大的一次更新,这个特性的引入无疑为开发者们带来了更多的灵活性和代码复用性。虽然大部分功能不使用泛型也能正常实现,但是泛型带来的灵活性和效率值得我们进行学习和掌握,这篇文章就和大家一下讨论下Go语言的泛型。
陈明勇
2 天前
后端
·
go
·
mcp
用 Go 语言轻松构建 MCP 客户端与服务器
该文章已被 Model Context Protocol(MCP) 中文教程讲解 收录,欢迎 star 收藏。
飞川001
2 天前
算法
·
go
【LeetCode 热题100】45:跳跃游戏 II(详细解析)(Go语言版)
给你一个非负整数数组 nums,表示你最初位于数组的第一个位置。数组中的每个元素表示你在该位置可以跳跃的最大长度。
程序员爱钓鱼
2 天前
后端
·
算法
·
go
Go 连接 Oracle 太麻烦?一文教你优雅搞定 GORM + Oracle 全流程!
在大多数 Go 开发者的日常工作中,连接数据库可能是家常便饭,MySQL、PostgreSQL、SQLite 都非常轻松。但一旦碰上 Oracle —— 你可能会眉头紧锁:驱动难找?配置复杂?文档稀缺?
飞川001
2 天前
算法
·
go
【LeetCode 热题100】23:合并 K 个升序链表(详细解析)(Go语言版)
LeetCode 23. Merge k Sorted Lists给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。
飞川001
2 天前
算法
·
go
【LeetCode 热题100】55:跳跃游戏(详细解析)(Go语言版)
给定一个非负整数数组 nums,你最初位于数组的第一个下标。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。
hankeyyh
2 天前
后端
·
go
讲清楚Go字符串和utf8编码
unicode 字符集给世界上每个字符做了编码,每个字符对应一个码点(code pooint)。unicode字符集将所有的字符按平面划分,分为1个基础平面+16个补充平面,参考:unicode字符集。
GetcharZp
2 天前
go
Wails:用 Go 构建桌面应用的新姿势!
在桌面应用开发领域,Electron 无疑是一匹黑马,它让前端开发者也能做出高质量的跨平台桌面应用。但对 Go 开发者来说,传统 GUI 库不是太老旧就是开发体验不佳,这时候,Wails 出现了。
彭岳林
4 天前
go
nil是什么?
nil是什么?有的认为是0,有的认为是JAVA里面的NULL,我们从nil的定义出发,探索不同类型nil值的内存结构、nil判断逻辑。
浮尘笔记
4 天前
大数据
·
elasticsearch
·
golang
·
go
go-zero使用elasticsearch踩坑记:时间存储和展示问题
在 《go-zero中使用elasticsearch的示例》 这篇文章中演示了通过go写入ES的示例,但是里面存在一个细节问题,就是写入的时间和ES展示的时间相差8小时的问题。比如下面这样,我写入ES的时候,时间是当前时间2025-04-02 14:32:00
彭岳林
4 天前
go
err != nil ?
下面两种case是我们经常遇到的代码,它的执行结果如何?代码1-1如果仅从代码想表达的意图理解,err != nil的结果应该是false,但实际上与我们要求正好相反,它进入了异常处理逻辑。这种预期与实际上的偏差很容易造成线上事故。
杰克逊的黑豹
4 天前
c++
·
rust
·
go
不再迷茫:Rust, Zig, Go 和 C
作为程序开发者,掌握一门编程语言总觉得不够,特别是在应用层编程太久的开发者,总想着学习一门系统级别的程序语言,补充自己的技能仓库。可问题也来了,选哪门语言合适呢?
DemonAvenger
5 天前
分布式
·
架构
·
go
深入剖析 sync.Once:实现原理、应用场景与实战经验
Go 语言以其简洁高效的并发模型赢得了无数开发者的青睐。goroutine 轻量级线程和 channel 通信机制,让我们能够轻松编写高并发的程序。然而,在并发场景下,初始化共享资源却常常让人头疼。想象一下,多个 goroutine 同时尝试加载一个配置文件:如果没有适当的同步机制,可能会出现重复加载、资源浪费,甚至竞争条件导致的程序崩溃。这种“人人争抢干活,却干得乱七八糟”的局面,正是 Go 标准库中 sync.Once 诞生的原因。