<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>GoLang on 极客老墨</title>
    <link>https://blog.hankmo.com/categories/golang/</link>
    <description>Recent content in GoLang on 极客老墨</description>
    <generator>Hugo -- 0.138.0</generator>
    <language>zh-cn</language>
    <lastBuildDate>Sun, 15 Mar 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog.hankmo.com/categories/golang/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>[GoLang避坑实战-19] 搞定基础就想收工？别天真了！揭秘 Go 进阶路上的“九九八十一坑”</title>
      <link>https://blog.hankmo.com/posts/golang/go-basic-summary/</link>
      <pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-basic-summary/</guid>
      <description>Go 基础教程收官总结。搞定语法只是开始，真实的工程世界里还有 GMP、内存管理、并发安全等大山等你去翻越。老墨带你复盘基础坑位，规划进阶路线。</description>
    </item>
    <item>
      <title>Go这样检测Data Race让并发程序又简单了许多</title>
      <link>https://blog.hankmo.com/posts/golang/go-data-race-detector/</link>
      <pubDate>Tue, 03 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-data-race-detector/</guid>
      <description>写并发代码最怕的不是死锁，而是那些偶尔才出现、难以复现的诡异 bug。这些 bug 的罪魁祸首往往就是 Data Race。好在 Go 提供了 Race Detector，只需加个 -race 参数，就能在开发阶段揪出这些幽灵般的并发问题。本文带你掌握 Race Detector 的使用技巧，以及 5 种最常见的 Data Race 场景和解决方案。</description>
    </item>
    <item>
      <title>Go模糊测试实战：让AI帮你找Bug</title>
      <link>https://blog.hankmo.com/posts/golang/go-fuzz-in-action/</link>
      <pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-fuzz-in-action/</guid>
      <description>单元测试只能测你想到的场景，模糊测试能测你没想到的。这篇文章带你用Go 1.18&#43;的原生Fuzzing功能，配合AI工具，让测试覆盖率飙升，Bug无处遁形。</description>
    </item>
    <item>
      <title>Go模块管理踩坑实录：从入门到放弃再到真香</title>
      <link>https://blog.hankmo.com/posts/golang/go-modules-practical-guide/</link>
      <pubDate>Wed, 25 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-modules-practical-guide/</guid>
      <description>Go模块管理让你头大？依赖冲突让你抓狂？版本号看不懂？replace指令不会用？这篇文章记录了我从抵触到真香的全过程，以及那些官方文档不会告诉你的坑。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-00] 别再犹豫了！一个老码农的真心话：为什么 2026 年必学 Go</title>
      <link>https://blog.hankmo.com/why-golang/</link>
      <pubDate>Tue, 10 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/why-golang/</guid>
      <description>Golang不仅是一门语言，更是一把通往高性能、高并发世界的钥匙。它足够简单，让你能快速上手；它又足够强大，能支撑起字节跳动、Uber、Docker这样庞大的技术体系。</description>
    </item>
    <item>
      <title>Go高级教程：反射 (Reflection) 实战</title>
      <link>https://blog.hankmo.com/go-advanced-reflection/</link>
      <pubDate>Wed, 28 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/go-advanced-reflection/</guid>
      <description>反射是框架开发的灵魂。本文带你拆解 reflect 包，学会如何在运行时动态操作对象，并手撸一个简单的 JSON 序列化工具。</description>
    </item>
    <item>
      <title>Go高级教程：其他并发工具</title>
      <link>https://blog.hankmo.com/go-advanced-concurrency/</link>
      <pubDate>Sat, 20 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/go-advanced-concurrency/</guid>
      <description>超越基础的 Goroutine &#43; Channel，掌握 sync.Pool、sync.Map、Atomic 原子操作以及如何检测数据竞争（Data Race）。</description>
    </item>
    <item>
      <title>Go高级教程：深入理解 GMP 调度器</title>
      <link>https://blog.hankmo.com/go-advanced-gmp/</link>
      <pubDate>Fri, 28 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/go-advanced-gmp/</guid>
      <description>用通俗易懂的语言，配合生动的比喻，带你深入理解 Go 语言高并发的核心秘密——GMP 调度模型。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-18] 实战 CLI 工具：30 分钟用 urfave/cli 构建你的极客武器</title>
      <link>https://blog.hankmo.com/posts/golang/dev-cli-with-urfave-cli/</link>
      <pubDate>Thu, 20 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/dev-cli-with-urfave-cli/</guid>
      <description>手撸参数解析太痛苦了，试试 urfave/cli 框架，5 分钟搞定一个专业的命令行工具。我们将以此重构之前的计算器项目，作为基础教程的完美收官。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-17] 从零撸一个计算器：基础知识的大合练</title>
      <link>https://blog.hankmo.com/posts/golang/go-project-example/</link>
      <pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-project-example/</guid>
      <description>从零开始构建一个简单的 Go 命令行工具项目，演示项目结构、依赖管理与构建流程。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-16] &#34;干净利落！手把手带你搭一套企业级 Go 项目目录</title>
      <link>https://blog.hankmo.com/go-project-layout/</link>
      <pubDate>Wed, 29 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/go-project-layout/</guid>
      <description>学习 Go 社区推荐的标准项目布局，理解 internal、pkg、cmd 等目录的作用，构建清晰易维护的项目结构。</description>
    </item>
    <item>
      <title>环境变量与配置管理</title>
      <link>https://blog.hankmo.com/go-config-management/</link>
      <pubDate>Thu, 11 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/go-config-management/</guid>
      <description>掌握 Go 应用的配置管理：从简单的环境变量到强大的 Viper 配置库，学习如何让应用适应不同环境。</description>
    </item>
    <item>
      <title>模糊测试入门 (Fuzzing)</title>
      <link>https://blog.hankmo.com/go-fuzzing-intro/</link>
      <pubDate>Wed, 20 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/go-fuzzing-intro/</guid>
      <description>Go 1.18 引入的原生模糊测试功能，帮助你发现边界情况的 Bug，提升代码健壮性。</description>
    </item>
    <item>
      <title>日志管理：从 log 到 zap</title>
      <link>https://blog.hankmo.com/go-logging-guide/</link>
      <pubDate>Fri, 18 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/go-logging-guide/</guid>
      <description>全面对比 Go 语言的日志方案：标准库 log、Go 1.21 新增的 slog、以及高性能的 zap，学习如何在生产环境中正确使用日志。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-11] 万物皆 Reader：像老鸟一样玩转 Go 语言的 IO 流</title>
      <link>https://blog.hankmo.com/go-file-io-operations/</link>
      <pubDate>Thu, 19 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/go-file-io-operations/</guid>
      <description>掌握 Go 语言的文件操作：从基础的读写到高效的 bufio，从目录遍历到网络文件下载，全面理解 io.Reader 和 io.Writer 接口。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-15] Go Module 救命指南：彻底告别依赖冲突和环境混乱</title>
      <link>https://blog.hankmo.com/go-modules-intro/</link>
      <pubDate>Fri, 06 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/go-modules-intro/</guid>
      <description>深入理解 Go Modules：从 go.mod 文件结构到版本管理，从 replace 指令到私有仓库配置，掌握 Go 依赖管理的方方面面。</description>
    </item>
    <item>
      <title>GoLang教程——泛型编程入门</title>
      <link>https://blog.hankmo.com/posts/golang/go-generics-basics/</link>
      <pubDate>Sat, 22 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-generics-basics/</guid>
      <description>介绍 Go 1.18 引入的泛型（Generics）特性，包括泛型函数、泛型类型约束以及 any 关键字的使用。</description>
    </item>
    <item>
      <title>GoLang教程——Context上下文实战</title>
      <link>https://blog.hankmo.com/posts/golang/go-context-in-depth/</link>
      <pubDate>Sun, 02 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-context-in-depth/</guid>
      <description>详解 Go 标准库 Context 的核心作用，演示如何使用它来处理请求超时、取消并发任务以及传递上下文信息。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-14] 写得爽，跑得快：表格驱动测试的工程级避坑实战</title>
      <link>https://blog.hankmo.com/posts/golang/go-testing-benchmark/</link>
      <pubDate>Wed, 19 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-testing-benchmark/</guid>
      <description>别的语言测试要装一堆库，Go 直接内置 go test。单元测试、表格驱动、基准测试，全都有。老墨手把手教你写出优雅的测试代码。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-13] 标准库挖矿：这几个库包能让你少写一半代码</title>
      <link>https://blog.hankmo.com/posts/golang/go-stdlib/</link>
      <pubDate>Sun, 12 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-stdlib/</guid>
      <description>概览 Go 语言强大而丰富的标准库，精选 fmt、time、strings、encoding/json 等常用包进行演示。</description>
    </item>
    <item>
      <title>GoLang教程——并发进阶</title>
      <link>https://blog.hankmo.com/posts/golang/go-concurrency-advanced/</link>
      <pubDate>Thu, 05 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-concurrency-advanced/</guid>
      <description>深入 Go 并发编程，掌握 sync 包中的各种同步工具：WaitGroup、Mutex、RWMutex、Once、Cond，以及信号量和 errgroup 的使用。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-12] 并发初体验：Goroutine 和 Channel 真的那么神吗？</title>
      <link>https://blog.hankmo.com/posts/golang/go-concurrency-basics/</link>
      <pubDate>Tue, 19 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-concurrency-basics/</guid>
      <description>介绍 Go 语言的核心并发特性：Goroutine（协程）和 Channel（通道），以及 sync 包的基本用法。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-10] 不要 panic！Go 风格错误处理的&#34;优雅避坑&#34;指南</title>
      <link>https://blog.hankmo.com/posts/golang/go-error-handling/</link>
      <pubDate>Tue, 29 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-error-handling/</guid>
      <description>讲解 Go 语言中基于返回值的错误处理机制，以及 panic 和 recover 的异常处理流程。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-09] 接口即正义：解密 Go 语言&#34;鸭子类型&#34;的实战精髓</title>
      <link>https://blog.hankmo.com/posts/golang/go-structs-interfaces/</link>
      <pubDate>Sun, 15 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-structs-interfaces/</guid>
      <description>介绍 Go 中结构体的定义、匿名字段与嵌入，以及接口的定义与实现（鸭子类型）。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-08] 切片扩容的惨剧：为什么共享底层数组让你哭都哭不出来？</title>
      <link>https://blog.hankmo.com/posts/golang/go-array-slice-map/</link>
      <pubDate>Thu, 22 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-array-slice-map/</guid>
      <description>数组长度固定？切片会自动扩容？map 遍历顺序随机？Go 的数据结构设计简洁但强大，切片和 map 是日常开发的主力。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-07] 扔掉冗长的 if-else：Go 流程控制的&#34;极简之道&#34;</title>
      <link>https://blog.hankmo.com/posts/golang/go-control-structures/</link>
      <pubDate>Thu, 01 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-control-structures/</guid>
      <description>Go 没有 while？switch 不用 break？if 还能初始化变量？Go 的控制结构简洁但强大，一个 for 就能搞定所有循环。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-06] 该选指针接收者吗？老墨带你一次理清函数与方法的纠葛</title>
      <link>https://blog.hankmo.com/posts/golang/go-func-method/</link>
      <pubDate>Wed, 17 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-func-method/</guid>
      <description>函数返回多个值？闭包捕获变量？defer 延迟执行？Go 的函数设计比你想的更灵活。还有方法绑定，让你的代码更优雅。</description>
    </item>
    <item>
      <title>Golang中singleflight的实现原理</title>
      <link>https://blog.hankmo.com/posts/golang/go-singleflight-impl/</link>
      <pubDate>Mon, 10 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-singleflight-impl/</guid>
      <description>singleflight 的实现主要依赖 sync.WaitGroup 和 sync.Mutex，利用 WaitGroup 限制并发请求数量，利用 Mutex 加锁保证并发安全性。DoChan 和 Do 方法的区别在于处理结果上，前者多了对于 chan 的管理。</description>
    </item>
    <item>
      <title>Golang中singleflight的用法</title>
      <link>https://blog.hankmo.com/posts/golang/go-singleflight/</link>
      <pubDate>Sat, 18 May 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-singleflight/</guid>
      <description>singleflight 用于抑制同一时间获取相同数据的重复请求。当存在多个重复请求时，singleflight 保证只有一个请求能执行，其他请求阻塞，直到前边的请求返回后直接将其返回值共享(shared)给阻塞的这些请求。</description>
    </item>
    <item>
      <title>依赖注入库wire使用入门</title>
      <link>https://blog.hankmo.com/posts/golang/wire-use-guide/</link>
      <pubDate>Sun, 06 Aug 2023 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/wire-use-guide/</guid>
      <description>依赖注入（Dependency injection）不是一个新概念了，早在2004年 Martin Fowler 就在其文章Inversion of Control Containers and the Dependency Injection pattern提出了依赖注入模式。在Java的世界中，随处可见依赖注入的使用，如Spring框架的核心之一就是控制反转(IoC)，而依赖注入就是 IoC 思想的一种技术实现，比如我们常用的 Spring 的注解 @Autowire，还有 Jsr250 规范定义的 @Resource 注解都实现了依赖注入。</description>
    </item>
    <item>
      <title>(译)Go1.13中处理错误</title>
      <link>https://blog.hankmo.com/posts/golang/go-err-113/</link>
      <pubDate>Fri, 05 May 2023 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-err-113/</guid>
      <description>在过去的十年中，Go 将错误作为值来处理 ，这对我们很有帮助。尽管标准库对错误的支持很少 —— 只有 `errors.New` 和 `fmt.Errorf` 函数，它们产生的错误只包含一条消息 —— 内置 `error` 接口允许 Go 程序员添加他们想要的任何信息。它所需要的只是一个实现 `Error` 方法的类型</description>
    </item>
    <item>
      <title>(译)Go错误是值</title>
      <link>https://blog.hankmo.com/posts/golang/go-err-handle/</link>
      <pubDate>Sun, 30 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-err-handle/</guid>
      <description>一直以来，人们觉得一定有什么地方出了问题，而明显的目标就是 Go 本身。这是不幸的、误导性的，而且很容易纠正。也许刚接触 Go 的程序员会问，“我该如何处理错误？”，然后学习这种模式，最后就此打住。在其他语言中，可能会使用 try-catch 块或其他类似机制来处理错误。因此，程序员认为，我在我的旧语言中可以使用 try-catch 时，但在 go 中我只能输入 `if` `err` `!=` `nil` 来处理错误。随着时间的推移，Go 代码收集了许多这样的片段，结果感觉很笨拙。</description>
    </item>
    <item>
      <title>(译)Go模块：管理依赖项</title>
      <link>https://blog.hankmo.com/posts/golang/go-mod/</link>
      <pubDate>Wed, 19 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-mod/</guid>
      <description>当您的代码使用外部包时，这些包（作为模块分发）成为依赖项。随着时间的推移，您可能需要升级或更换它们。Go 提供了依赖管理工具，可帮助您在合并外部依赖项时确保 Go 应用程序的安全。本文介绍如何执行一些任务来管理您代码中的依赖项，您可以使用 Go tools 执行其中的大部分操作。本主题还介绍了如何执行其他一些您可能会觉得有用的依赖相关任务。</description>
    </item>
    <item>
      <title>(译)Rob Pike 带你深入理解 Go 字符串：字节、符文与 Unicode 编码</title>
      <link>https://blog.hankmo.com/posts/golang/go-unicode/</link>
      <pubDate>Sat, 25 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-unicode/</guid>
      <description>深入解析 Go 字符串的内部机制，理解字节、字符和符文的区别，掌握 Unicode 和 UTF-8 编码，以及字符串操作的最佳实践。本文翻译自 Rob Pike 的经典文章。</description>
    </item>
    <item>
      <title>(译)Go创造者Rob Pike带你深入了解数组、切片和字符串 底层的 “append” 原理</title>
      <link>https://blog.hankmo.com/posts/golang/go-slice/</link>
      <pubDate>Thu, 09 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-slice/</guid>
      <description>要了解切片是如何工作的，有助于了解它们是如何实现的。有一个小数据结构，即切片头，即与切片变量关联的项，该头描述了单独分配的数组的一部分。当我们传递切片值时，标头会被复制，但它指向的数组始终是共享的。一旦您了解它们的工作原理，切片不仅易于使用，而且功能强大且富有表现力，尤其是在内置函数 `append`、`copy` 的帮助下。</description>
    </item>
    <item>
      <title>(译)进入Go模糊测试的世界</title>
      <link>https://blog.hankmo.com/posts/golang/go-fuzz-guide/</link>
      <pubDate>Mon, 19 Dec 2022 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-fuzz-guide/</guid>
      <description>本教程介绍了 Go 中模糊测试的基础知识。模糊测试会针对您的测试准备一些随机数据然后运行测试时使用它们，以尝试找出漏洞或导致崩溃的输入。可以通过模糊测试发现的一些漏洞示例包括 SQL 注入、缓冲区溢出、拒绝服务和跨站点脚本攻击(XSS)。</description>
    </item>
    <item>
      <title>(译)初始Go模糊测试</title>
      <link>https://blog.hankmo.com/posts/golang/go-fuzz/</link>
      <pubDate>Wed, 26 Oct 2022 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-fuzz/</guid>
      <description>Fuzzing 是一种自动化测试，它不断地操纵程序的输入以查找错误。Go fuzzing 使用覆盖率指导来智能地不断重复执行模糊测试的代码，以发现并向用户报告问题。由于它可以覆盖人类经常错过的边缘情况，因此模糊测试对于发现安全漏洞特别有价值。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-05] 玩转 iota：优雅定义常量的黑科技，你真的会用吗？</title>
      <link>https://blog.hankmo.com/posts/golang/go-const/</link>
      <pubDate>Sat, 10 Sep 2022 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-const/</guid>
      <description>写枚举还在 0、1、2、3 手动递增？Go 的 iota 能让你少写一半代码。还有无类型常量这个设计，直接省掉类型转换的麻烦。C 语言常量那些坑，Go 全给你填上了。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-04] 变量也玩&#34;躲猫猫&#34;？揭秘 Go 类型系统里那些隐蔽的坑</title>
      <link>https://blog.hankmo.com/posts/golang/go-var/</link>
      <pubDate>Tue, 02 Aug 2022 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-var/</guid>
      <description>深入理解 Go 语言的变量声明、基本数据类型、常量与 iota、指针操作，以及变量作用域和命名规范。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-03] 专业选手的养成：用 golangci-lint 直抵企业级代码规范</title>
      <link>https://blog.hankmo.com/posts/golang/go-style/</link>
      <pubDate>Sat, 30 Jul 2022 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-style/</guid>
      <description>Go作为编程语言中的后起之秀，在语言规范上吸收了诸多语言的优点，并形成了自身独特的语言风格。本文探讨一下Go语言的代码风格，并与后端语言中的老大哥Java做一些风格方面的比较。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-02] 初识 Go：除了高并发，它还有哪些让你尖叫的特性？</title>
      <link>https://blog.hankmo.com/posts/golang/go-intro/</link>
      <pubDate>Thu, 21 Jul 2022 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-intro/</guid>
      <description>Go语言是最近几年发展最快、最火热的编程语言之一，由 google 公司出品，其学习成本低、天生支持高并发、语法简洁高效、强大的标准库以及日益丰富的生态特细等特性使得其非常适合开发后端服务程序，并逐渐挑战着 Java 在服务端编程语言中的领导地位。Go 语言的前身被认为是一种名为 Limbo 的编程语言，它是由 Unix 之父、C语言之父肯·汤普逊和丹尼斯·里奇这两位计算机灵魂人物领衔并在一个名为 Plan 9 的的操作系统研究项目中发明的。</description>
    </item>
    <item>
      <title>(译)Go并发模式——Context</title>
      <link>https://blog.hankmo.com/posts/golang/go-context/</link>
      <pubDate>Tue, 19 Jul 2022 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-context/</guid>
      <description>在Go服务器中，每个传入的请求都在其自己的 goroutine 中处理。请求处理程序通常会启动额外的 goroutine 来访问数据库和 RPC 服务等后端。处理请求的一组 goroutine 通常需要访问特定于请求的值，例如最终用户的身份、授权令牌和请求的截止日期。当请求被取消或超时时，所有处理该请求的 goroutines 都应该快速退出，以便系统可以回收它们正在使用的任何资源。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-01] Go 1.24 安装排雷指南：拒绝被&#34;环境变量&#34;折磨</title>
      <link>https://blog.hankmo.com/golang-environment-setup/</link>
      <pubDate>Sun, 10 Jul 2022 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/golang-environment-setup/</guid>
      <description>别急着写代码！先把环境搞对，避免踩坑。老墨手把手教你配置 Go 开发环境，选对版本，一次搞定。</description>
    </item>
  </channel>
</rss>
