<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Golang - 标签 - Simi Studio</title>
        <link>/tags/golang/</link>
        <description>Golang - 标签 - Simi Studio</description>
        <generator>Hugo -- gohugo.io</generator><language>zh-CN</language><managingEditor>simi@simi.studio (Simi)</managingEditor>
            <webMaster>simi@simi.studio (Simi)</webMaster><lastBuildDate>Sun, 15 Mar 2026 10:00:00 &#43;0800</lastBuildDate><atom:link href="/tags/golang/" rel="self" type="application/rss+xml" /><item>
    <title>Go 最佳实践</title>
    <link>/posts/go-best-practices/</link>
    <pubDate>Sun, 15 Mar 2026 10:00:00 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/go-best-practices/</guid>
    <description><![CDATA[面向 Go 1.26.1 的生产级 Go 最佳实践指南，覆盖模块与工作区策略、项目结构、错误处理、并发、测试、可观测性、性能与安全。]]></description>
</item>
<item>
    <title>Go 1.23 新特性速览：range-over-func 终于来了</title>
    <link>/posts/go-1-23-new-features/</link>
    <pubDate>Sat, 20 Dec 2025 14:12:00 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/go-1-23-new-features/</guid>
    <description><![CDATA[Go 1.23 range-over-func 从实验特性毕业，iterators 包正式加入。这篇文章快速过一遍对实际代码有影响的新特性。]]></description>
</item>
<item>
    <title>Go 1.24 实战：新特性与生产环境迁移</title>
    <link>/posts/go-1-24-new-features/</link>
    <pubDate>Sun, 15 Jun 2025 10:00:00 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/go-1-24-new-features/</guid>
    <description><![CDATA[Go 1.24 发布了。这篇文章聚焦实际影响生产代码的新特性，以及从 1.22/1.23 迁移过来的注意事项。不讲废话，只讲工程师真正要关心的。]]></description>
</item>
<item>
    <title>Go 编程模式: Functional Options</title>
    <link>/posts/golang-functional-options-pattern/</link>
    <pubDate>Thu, 25 Jan 2024 14:40:56 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/golang-functional-options-pattern/</guid>
    <description><![CDATA[<p>在 Go 中，我们通常使用结构体来封装和组织数据。但是有时候当我们需要提供可选的、可定制的行为时，这种方式可能会变得复杂和难以维护。这就是 <strong>Functional Options Pattern</strong> 要解决的问题。这是一种设计模式，允许我们创建具有可选参数和可定制行为的对象。</p>]]></description>
</item>
<item>
    <title>Golang Table-Driven Testing 最佳实践</title>
    <link>/posts/golang-table-driven-testing-best-practices/</link>
    <pubDate>Tue, 09 Jan 2024 17:30:15 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/golang-table-driven-testing-best-practices/</guid>
    <description><![CDATA[<p>表驱动测试是 Go 里的经典写法，原因很简单：一组输入输出结构相似的测试，用表来写，代码确实更省、更稳，也更容易补边界场景。</p>]]></description>
</item>
<item>
    <title>Go 语言中的 init 函数：理解 Go 语言的初始化</title>
    <link>/posts/the-go-init-function/</link>
    <pubDate>Thu, 15 Jun 2023 08:32:48 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/the-go-init-function/</guid>
    <description><![CDATA[Go 语言中的 init 函数是一个在程序启动时调用的特殊函数。它用于初始化程序并设置任何必备的状态。]]></description>
</item>
<item>
    <title>Go 语言结构体指针与值详解</title>
    <link>/posts/understanding-pointers-vs-values-in-go-struct/</link>
    <pubDate>Wed, 14 Jun 2023 17:05:46 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/understanding-pointers-vs-values-in-go-struct/</guid>
    <description><![CDATA[理解 Go 语言结构体指针和值之间的区别对于编写高效、有效且可伸缩的 Go 程序至关重要。根据应用场景选择正确的方法，可以确保结构体按预期工作，并优化代码的性能。]]></description>
</item>
<item>
    <title>Go 中的栈与堆</title>
    <link>/posts/stack-vs-heap-in-go/</link>
    <pubDate>Tue, 13 Jun 2023 11:14:04 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/stack-vs-heap-in-go/</guid>
    <description><![CDATA[了解 Go 中栈和堆之间的差异对于编写高效有效的代码至关重要。通过了解在何时使用每种技术，可以避免常见陷阱，如内存泄露，并提高应用程序的性能。]]></description>
</item>
<item>
    <title>Go Modules: 包管理终结者</title>
    <link>/posts/go-modules/</link>
    <pubDate>Mon, 12 Jun 2023 08:59:44 &#43;0800</pubDate>
    <author>simi@simi.studio (Simi)</author>
    <guid>/posts/go-modules/</guid>
    <description><![CDATA[Go 语言的包管理一直是 Go 社区的热门讨论话题。在 Go 1.11 版本之前，Go 社区并没有官方的包管理工具，最常用的是第三方的 dep 和 glide。但是在 Go 1.11 版本之后，Go 官方推出了新的包管理工具 Go Modules，并且在 Go 1.13 版本后成为了官方推荐的包管理工具。]]></description>
</item>
</channel>
</rss>
