注册登录
产品
社群
使用“Bing”搜本站
使用“Google”搜本站
使用“百度”搜本站
✓
站内搜索
注册登录
问答
博客
资讯
标签
用户
活动
极客观点
项目管理
HarmonyOS
开发者社区
热门标签
javascript
前端
python
node.js
react
vue.js
php
laravel
go
人工智能
mysql
linux
ios
java
android
css
typescript
spring
程序员
ONES 研发管理
思否企业问答
问答
博客
资讯
标签
用户
活动
极客观点
项目管理
HarmonyOS
开发者社区
热门标签
javascript
前端
python
node.js
react
vue.js
php
laravel
go
人工智能
mysql
linux
ios
java
android
css
typescript
spring
程序员
ONES 研发管理
思否企业问答
江湖十年
48
获赞数
0
关注数
33
粉丝数
关注他
发私信
杭州
jianghushinian.cn
IP 属地内蒙古通辽市
2020-09-23 加入
浏览 12.6k
举报
屏蔽
主页
回答
提问
文章
72
更多
公众号:Go编程世界
微信:jianghushinian
野生程序员,资深容器云开发工程师
114 声望
|
学徒
后端
93
go
90
面试
42
错误
26
kubernetes
20
黄金勋章
暂未获得该勋章
如何获得
1
白银勋章
Top Writer
25
青铜勋章
长文达人
博客新秀
公民巡查
个人动态
发布了文章
2 月 17 日
用 Go 语言还原 2026 春晚《惊喜定格》魔术!
江湖十年
今天是大年初一,江湖十年给读者朋友们拜年了,祝大家新年快乐!又是新的一年,想必大家都没看春晚吧 😄,今天继续一年一度的用 Go 语言实现春晚魔术。废话不多说,咱们直接看原理。<!-- more -->魔术原理揭秘这个魔术的数学原理其实很简单,基于一个简单的恒等...
发布了文章
2025-09-23
万字长文:彻底掌握 Go 1.23 中的迭代器——使用篇
江湖十年
本文带大家一起来深入探究一下 Go 1.23 中发布的迭代器特性,这是一篇迟来的文章,再不写这篇文章 Go 1.25 就发布了 :),Go 1.25 预计将于 2025 年 8 月发布。
发布了文章
2025-08-13
Google ADK + DeepSeek 快速构建 Agent
江湖十年
公众号首发:[链接]本文介绍如何使用 ADK + DeepSeek 创建一个简单的 Agent。ADK 官方文档地址:[链接]ADK GitHub 仓库地址:[链接]本文示例代码 GitHub 仓库地址:[链接]ADK 简介Agent Development Kit (ADK) 是一个灵活、模块化的框架,用于开发和部署 AI agents。...
发布了文章
2025-07-31
Go 官方推荐的 Go 项目文件组织方式
江湖十年
刚开始接触 Go 的开发者大概都会遇到一个问题:我该如何组织我的 Go 项目?这种问题当然没有标准答案,不过 Go 官方下场,给了广大 Gopher 一个推荐模板。本文就来带大家一起来学习一下 Go 官方对于 Go 项目布局的指导原则。
发布了文章
2025-07-22
在 Go 中为什么推荐使用空结构体作为 Context 的 key
江湖十年
公众号首发地址:[链接]我曾在《Go 中空结构体惯用法,我帮你总结全了!》一文中介绍过空结构体的多种用法,本文再来补充一种惯用法:将空结构体作为 Context 的 key 来进行安全传值。NOTE:如果你对 Go 语言中的 Context 不够熟悉,可以阅读我的另一篇文章《Go 并发...
发布了文章
2025-06-16
在 Go 中如何使用有限状态机优雅解决程序中状态转换问题
江湖十年
在编程中,有限状态机(FSM)是管理复杂状态流转的优雅工具,其核心在于通过明确定义状态、事件和转换规则,将业务逻辑模块化。本文将探讨在 Go 中如何使用有限状态机。
发布了文章
2025-06-11
一行命令统计代码行数
江湖十年
我在网上冲浪时,在 GitHub 上发现了一个感兴趣的开源项目 OneX ,我将其下载到本地,现在我该如何知道这个项目的体量呢?一个非常直观的指标是看这个项目有多少行代码。
发布了文章
2025-06-05
在 Go 语言中如何实现协程池
江湖十年
如果你熟悉 Java、Python 等编程语言,那么你一定听说或者使用过进程池或线程池。因为进程和线程不是越多越好,过多的进程或线程可能造成资源浪费和性能下降。所以池化技术在这些主流编程语言中非常流行,可以有效控制并发场景下资源使用量。
发布了文章
2025-05-27
Go 语言中你不知道的 io.Discard 妙用
江湖十年
在 Go 语言中,io.Discard 是一个实现了 io.Writer 接口的特殊变量,用于丢弃所有写入的数据。 io.Discard 在 Go 1.15 及之前版本中是放在 io/ioutil 包中实现的。而在 Go 1.16 版本,得以正式转正,被实现在 io 包中。本文我们来一起学习下 io.Discard 的实现及使用...
发布了文章
2025-05-20
使用 Uber automaxprocs 正确设置 Go 程序线程数
江湖十年
我们知道 Go 语言没有直接对用户暴露线程的概念,而是通过 goroutine 来控制并发。不过,在 Go 程序启动时,其背后的调度器往往是多线程运行的。在 Go 语言的 GMP 调度模型中,P 决定着同时运行的 goroutine 数,我们可以通过环境变量 GOMAXPROCS 或者运行时函数 run...
发布了文章
2025-05-12
效率工具:使用 air 热重载 Go 应用程序
江湖十年
在项目开发阶段,热重载技术非常有用,通过热重载,可以实现在无需手动干预的情况下,修改代码文件后,自动重启 Go 应用。这极大的提升了开发体验,同时也节约了我们的开发时间。本文我们一起来体验一下使用 air 热重载 Go 应用程序,提高开发效率。
发布了文章
2025-04-23
使用 K8s Aggregate 聚合你的错误列表
江湖十年
我在「go-multierror: 更方便的处理你的错误列表」一文中讲解了在 Go 中如何使用 go-multierror 包聚合错误列表,本文将介绍另一种方案,来看看 Kubernetes 是如何聚合错误列表的。
发布了文章
2025-04-16
go-multierror: 更方便的处理你的错误列表
江湖十年
go-multierror 是一个第三方的 Go 语言库,用于处理多个错误的聚合与管理。它由 HashiCorp 提供,非常适合需要在某些操作中收集多个错误并在最后统一返回的场景。
发布了文章
2025-04-09
如何使用 go:linkname 指令访问 Go 包中的私有函数
江湖十年
在 Go 语言的包设计中,函数和变量通过首字母大小写来严格区分导出(exported)与未导出(unexported)的可见性规则。这种机制是 Go 模块化设计的基石,但同时也为底层系统级开发带来了限制。//go:linkname 指令正是 Go 为突破这一限制预留的「后门」,它通过编译器...
发布了文章
2025-03-27
在 Go 中如何使用分布式锁解决并发问题?
江湖十年
在分布式系统中,协调多个服务实例之间的共享资源访问是一个经典的挑战。传统的单机锁(如 sync.Mutex)无法实现跨进程工作,此时就需要用到分布式锁了。本文将介绍 Go 语言生态中基于 Redis 实现的分布式锁库 redsync,并探讨其使用方法和实现原理。
发布了文章
2025-03-17
在 Go 中使用 cron 执行定时任务
江湖十年
如果你曾经在 Go 中实现过定时任务,可能会发现,原生的 time.Timer 或 time.Ticker 虽然简单易用,但在复杂的场景下(如多任务调度、时区处理、任务失败重试等)往往显得力不从心。这时,一个功能强大且灵活的定时任务库就显得尤为重要。
发布了文章
2025-03-11
如何基于 Go 语言设计一个简洁优雅的分布式任务系统
江湖十年
在当今云计算与微服务盛行的时代,分布式任务系统已成为支撑大规模业务的核心基础设施。今天就来为大家分享下如何基于 Go 语言从零设计和实现一个架构简洁且扩展性强的分布式任务系统。
发布了文章
2025-03-04
Go 并发编程:如何实现一个并发安全的 map
江湖十年
上周发布的文章「Go 并发控制:sync.Map 详解」有读者反馈说我写的太难了,上来就挑战源码,对新手不够友好。所以这篇文章算作补充,从入门到进阶的顺序讲解一下在 Go 中如何自己实现一个并发安全的 map。
发布了文章
2025-02-26
Go 并发控制:sync.Map 详解
江湖十年
我们知道,Go 中的 map 类型是非并发安全的,所以 Go 就在 sync 包中提供了 map 的并发原语 sync.Map,允许并发操作,本文就带大家详细解读下 sync.Map 的原理。
发布了文章
2025-02-19
Go 并发控制:semaphore 详解
江湖十年
一个生活中的例子:假设一个餐厅总共有 10 张餐桌,每来 1 位顾客占用 1 张餐桌,那么同一时间共计可以有 10 人在就餐,超过 10 人则需要排队等位;如果有 1 位顾客就餐完成,则可以让排队等待的第 1 位顾客来就餐。
标签得分
暂无数据
获得勋章
暂无数据
声望记录
暂无数据