分类 GCTT 中的文章

现代垃圾收集策略 —— Go 的 GC 策略

在 Hacker News 和 Reddit 你可以找到相关讨论 我最近看过很多文章,它们以令我困扰的方式推广 Go 语言最新的垃圾收集器。其中一些文章来自 Go 官方项目本身。他们声称这意味着 GC 技术已经有根本性的突破。 这是新版本(Go 1.5)垃圾收集器的首次公告: Go 正在构建一个垃圾收集器(GC),不止适用于 2015 年,甚至适用于 2025 年……

阅读全文

Vet 命令:超出预期的强大

Go vet 命令在编写代码时非常有用。它可以帮助您检测应用程序中任何可疑、异常或无用的代码。该命令实际上由几个子分析器组成,甚至可以与您的自定义分析器一起工作。让我们首先回顾一下内置的分析器。 内置分析器 可以通过命令 go tool vet help 获取 内置分析器 列表。让我们分析一些不太明显的例子,以便更好地理解。……

阅读全文

Go:关于 Cobra 的想法

Cobra 是 Golang 生态系统中最着名的项目之一。它简单,高效,并得到 Go 社区的大力支持。让我们来深入探索一下。 设计 Cobra 中的 Command 是一个具有名称,使用描述和运行逻辑函数的结构体: cmd := &cobra.Command{ Run: runGreet, Use: `greet`, Short: "Greet", Long: "This command will print Hello World", } 设计非常类似于原生的 go 标准库命令,如 go env,go fmt等 比如,go fmt 命令结构: var CmdFmt = &base.Command{ Run: runFmt,……

阅读全文

为什么 Go 适合微服务

去年早些时候,我们决定改用 Go(Golang) 作为我们(SafetyCulture)开发微服务的选择。在这之前,我们的微服务使用 Node.js(CoffeeScript, Javascript 和 TypeScript 的混合 ) 编写。下来我将分享我们更改的原因。 1. 静态类型 Go 是一种静态类型语言,这意味着编译器可以为您做更多的工作。人们倾向于强调这一点的重要性。 生产事故的故事 去年,在……

阅读全文

Go 语言中的微服务

摘要 我最近在墨尔本 Golang 聚会上就如何开发微服务和框架做了一次演讲。在本文中,我将与您分享我的想法(此外,它对我来说是一个很好的复习)。 在这里,我要介绍以下框架: Go Micro Go Kit Gizmo Kite 框架简介 Go Micro 这是我认为最受欢迎的框架之一。有很多博客文章和简单的例子可供使用参考。您可以从 microhq 在 Medium 或 @MicroHQ 获得 Go Micro 的最……

阅读全文