golang后端开发非常成熟好用的总结的几个高频使用库快速实现开发

golang后端开发非常成熟好用的总结的几个高频使用库快速实现开发。

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


静态网站生成

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

hugo:一个很棒的包,可以让你在没有后端互连的情况下构建静态网站,全部用 Go 编写。它还号称是同类中最快的静态 Web 框架,每页加载时间<1 毫秒,平均网站构建时间不到一秒。它旨在适用于任何类型的网站,包括博客和托管文档。最棒的是,您也可以在GitHub 页面上免费托管您的静态网站!安装 Hugo 包可以通过常规的自制软件安装、Docker甚至go install命令来完成。

处理配置文件

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

viper:这是一个完整的 Go 应用程序配置解决方案,包括 12-Factor 应用程序。它专为在应用程序中工作而设计,可以处理所有类型的配置需求和格式。

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

从 JSON、TOML、YAML、HCL、.env 和 Java 属性配置格式中读取。

实时观看和重读配置文件。

从环境变量中读取。


命令行界面

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

Cobra:一个强大的库,用于创建基于 Go 的 CLI 应用程序。

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

它与配置文件的 Viper 库有强大的集成。

它支持常规子命令、嵌套子命令,并有助于对相似命令进行分组。

完全符合 POSIX 标准的标志(包括短版和长版)。


环境变量

Go有许多软件包可以.env更轻松地读取存储各种被视为应用程序机密的文件。有这样伟大一个工具:

GoDotEnv:它拥有从.env文件中读取变量的最简单的设置和用法,并且使用起来也非常轻巧。


构建自动化

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

taskfile:这个库拥有更多的冗长性,因此执行命令的可解释性略好于 Make。它也没有依赖性,相比之下非常轻量级。


主动编译

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


Web开发

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

Gin Web Framework:这是最流行的 Go 网络开发库,并且有很多充分的理由。

Iris:在Go中构建高性能Web应用程序和API的另一种选择。如果你以前使用过ExpressJS,你会觉得有点熟悉。


日期时间管理

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


数据库对象关系管理

Gorm:这是最容易使用的对象关系映射(ORM)Go库, 特别适用于三种主流的数据库SQLite、PostgreSQL和MySQL。

Xorm:XORM 是一个简单而强大的Go语言ORM框架。通过它可以使数据库操作非常简便。


微服务

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

Echo:该框架支持RESTful API设计,是最流行的Go微服务框架。

go-micro:这个库是同一领域的另一个很好的选择,具有内置的身份验证和数据存储设计。确实很方便。

go-zero:go-zero 是一个集成了各种工程实践的 web 和 rpc 框架


机器人

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

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


网页抓取

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


数据库相关

Go-redis:这是一个很棒的、高度维护的用于 Go 的 redis 数据库客户端。它适用于 redis 6 和 7,并且设置过程非常简单。强烈推荐。

go-elasticsearch:这是 Go 的官方 Elasticsearch 客户端。

graphql-go:这是 GraphQL 在 Go 中的实现,支持查询、突变和订阅。

相关推荐
llz_1123 小时前
web-第二次课后作业
前端·后端·web
cup118 小时前
[Full Clock 技术复盘] 一、浏览器前端如何实现百毫秒级时间校准?时间 API 推荐、模拟 NTP 算法原理及局限
typescript·开源·api·时钟·时间同步
红尘散仙9 小时前
我把终端小说阅读器接上了 AI Agent:TRNovel 现在能用 skill 生成书源了
人工智能·后端·rust
卷毛的技术笔记10 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·人工智能·后端·python·spring·ai编程
会编程的土豆10 小时前
Go 语言反射(Reflection)详解
开发语言·后端·golang
喵个咪10 小时前
GoWind Toolkit Go后端代码生成 完整全流程实战
后端·go·orm
冬奇Lab11 小时前
每日一个开源项目(第118篇):SkillOpt - 像训练神经网络一样优化 LLM Agent 的技能
人工智能·开源·agent
basketball61611 小时前
Go 语言从入门到进阶:4. 数组和MAP使用方法总结
开发语言·后端·golang
qq_25183645711 小时前
SpringBoot+Vue 共享电池柜管理系统 完整实现 前后端分离项目实战 完整代码
vue.js·spring boot·后端
妄想出头的工业炼药师11 小时前
GS slam mono
算法·开源