涵盖各种用例的有用 Go 包的精选列表

随着时间的推移,语言爱好者已经构建和共享了许多 Go 框架和库。

这些包执行不同的功能,从开发微服务到制作 discord 机器人,一直到构建 Web 应用程序!

在本文中,我将尝试让您熟悉一些有用的方法,这些方法是我在使用这种有趣的编程语言学习和构建应用程序时发现的。

注意:这绝不是一个详尽的列表,而是一个我喜欢并认为有趣的软件包列表,可以尝试并希望与世界分享。:)

事不宜迟,让我们开始探索一些新的软件包:

静态网站生成

对于通常用于构建后端 API 和微服务的编程语言来说,这是一个相对较新的领域,因此有点新鲜感迫在眉睫。

它还号称是同类中最快的静态 Web 框架,每页加载时间<1 毫秒,平均网站构建时间不到一秒。

它旨在适用于任何类型的网站,包括博客和托管文档。最棒的是,您也可以在GitHub 页面上免费托管您的静态网站!

go install

处理配置文件

配置文件通常以各种格式编写,例如 JSON 和 YAML。Go 有一个非常有用的包,可以让读写各种配置文件格式变得轻而易举。

该软件包的一些巧妙功能包括:

  • 从 JSON、TOML、YAML、HCL、.env 和 Java 属性配置格式中读取
  • 实时观看和重读配置文件
  • 从环境变量中读取

命令行接口程序

对于构建 CLI 应用程序,Go 有一个很棒的库,让这一切变得轻而易举。

该框架的一些重要功能包括:

  • 它与配置文件的 Viper 库有强大的集成
  • 它支持常规子命令、嵌套子命令,并有助于对相似命令进行分组
  • 完全符合 POSIX 标准的标志(包括短版和长版)

环境变量

.env

其中有一个这样开源仓库是:

构建自动化

旨在通过简单、简洁的命令帮助执行任务的自动化工具。

您可能已经知道的一种流行工具是Make命令,它可以帮助我们使用Makefiles的任务自动化。一个好的开发实践是在 Makefile 中保留要执行的命令列表,我们可以在以后轻松引用并使用简单的 make 命令执行。

主动编译(热加载)

Web开发

以下是定期维护的前两个 Web 框架:

日期时间管理

数据库对象关系管理

微服务

微服务通常用于带有 Docker 和 Kubernetes 的容器化架构,以构建健壮的应用程序。以下是几个 Go 微服务包:

Discord 机器人

网页抓取

杂项提及

我希望这是对 Go 中一些仓库的有用介绍。