前言

随着时间的推移,语言爱好者已经构建和共享了许多 Go 框架和库。这些包执行不同的功能,从开发微服务到制作 discord 机器人,一直到构建 Web 应用程序!在本文中,我将尝试让您熟悉一些有用的方法,这些方法是我在尝试使用这种有趣的新编程语言学习和构建应用程序时发现的。

这绝不是一个详尽的列表,而是一个我喜欢并认为有趣的软件包列表,分享给大家。

在此篇文章之前,我个人也写了一些关于Go不错的开源工具总结,这里一一罗列一下:

静态网站生成

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

处理配置文件

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

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

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

命令行界面

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

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

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

环境变量

.env

构建自动化

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

主动编译

Air:这是一个很棒的实用程序Go包,可以帮助重建和执行项目的main.go保存或几乎任何保存的文件(如我们所愿),而无需我们每次都输入它来运行它。

Web开发

以下是定期维护的、流行的Web框架:

日期时间管理

Carbon:这是一个很棒的轻量级、易于使用且语义智能的日期时间库,适用于 Go 开发人员。

数据库对象关系管理

微服务

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

机器人

DiscordGo:这是 Discord API 函数最有用的 API 包装器,具有出色的模块化结构,包含您可能需要的所有主要 discord 机器人操作。

一个小的不便之处是它仍然没有专门的文档,但我在自己的一些实验过程中发现,阅读代码本身非常容易,因为它被整齐地分成模块和包。

网页抓取

Colly:这是一个很棒的 Go 网络抓取器和爬虫框架,特别适用于归档(我已经大量使用它)和数据挖掘目的。

数据库相关

总结

我希望这是对 Go 中一些有用库的有用介绍。希望这篇文章对大家所有帮助,同时有其他优秀的库也欢迎添加。