继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

后端开发者必知的五大Go语言库

潇潇雨雨
关注TA
已关注
手记 344
粉丝 25
获赞 130

Golang 或者 Go,由于其简洁、性能和并发能力,已成为后端开发者的首选编程语言。虽然 Go 的标准库非常强大,很多第三方库可以显著加速你的开发速度并提高代码质量。

在这篇博客中,我将向你介绍五个每个后端开发人员都应该熟悉的Go库。这些库将帮助你构建APIs、管理数据库、有效地记录日志等。让我们开始吧!

1. Gin (GitHub: https://github.com/gin-gonic/gin,一个流行的Go语言Web框架)

最强大的HTTP Web框架

Gin(金)是一个轻量、高性能的 Web 框架。其简洁和快速的特点使其成为构建 RESTful API 以及微服务的理想选择。

为什么要用这个:

  • 最少的样板代码。
  • 内置的日志记录、认证等功能的中间件。
  • 详细的文档和社区支持。
  • 示例:
package main

import "github.com/gin-gonic/gin"

func main() {
    r := gin.Default()
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{"message": "pong"})
    })
    r.Run() // 在本地的8080端口启动服务
}

进入全屏 退出全屏

  • 安装如下:

这是一条 Go 语言的命令:执行此命令来更新 Gin 框架:

go get -u github.com/gin-gonic/gin

全屏 退出全屏

对了解其他Go语言的web框架感兴趣吗?
可以看看我关于使用Fiber框架构建应用的博客系列。这是一个非常适合初学者的教程系列,它会一步步教你如何使用Fiber构建API、处理路由和中间件。链接标题为 使用Fiber框架构建应用

2. GORM,一个用于数据库操作的流行框架。

轻松处理您的数据库操作

GORM 是一个用于 Go 的 ORM 库。它抽象了复杂的 SQL 查询,使得操作数据库更加直观。

  • 为什么使用它:

  • 自动管理数据库架构的迁移。

  • 无缝链接的查询操作。

  • 支持大多数关系型数据库。

  • 示例代码:
    package main

    import (
        "gorm.io/driver/sqlite"
        "gorm.io/gorm"
    )

    type User struct {
        ID   uint   `gorm:"primaryKey"`
        Name string
    }

    func main() {
        db, _ := gorm.Open(sqlite.Open("test.db"), &gorm.Config{})
        db.AutoMigrate(&User{})
        db.Create(&User{Name: "John Doe"})
    }

全屏 退出全屏

  • 安装 :
这行命令是用来更新gorm.io/gorm这个库的。
go get -u gorm.io/gorm

切换到全屏模式,退出全屏模式

### 3\. [Logrus](https://github.com/sirupsen/logrus)(日志记录库)

**轻松搞定的强大日志记录功能**

日志记录对于调试和监控非常重要,尤其是有效的日志记录。Logrus 是 Go 语言中的一个结构化日志库,具备强大的日志记录功能。

* 使用它的原因:

* 支持 JSON 格式日志。

* 可自定义日志级别和钩子。

* 非常适合用于生产环境的日志。
* 示例:
package main

import log "github.com/sirupsen/logrus"

func main() {
    log.WithFields(log.Fields{
        "event": "server_start",
        "level": "info",
    }).Info("服务器已启动并正在运行")
}

全屏切换.

* 安装:

go get -u github.com/sirupsen/logrus
// 获取最新的logrus日志库


全屏模式 退出全屏

### 4\. [Cobra](https://cobra.dev/)

**打造强大的命令行工具**

Cobra 是一个用于构建命令行工具的库,它灵活易用,成为许多 CLI 应用程序的基石,其中包括 Kubernetes 的 `kubectl`。

* 为什么使用它:

* 简化处理命令和子命令。

* 自动生成命令行工具的文档。

* 非常适合用于脚本和自动化工具。

package main

import (
"github.com/spf13/cobra"
"fmt"
)

func main() {
var rootCmd = &cobra.Command{
Use: "app",
Short: "一个简单的 CLI 应用",
Run: func(cmd *cobra.Command, args []string) {
fmt.Println("你好,命令行!")
},
}
rootCmd.Execute()
}


全屏模式 退出全屏

* 安装:

运行此命令以更新并安装 spf13 的 cobra 包:go get -u github.com/spf13/cobra


全屏播放/退出全屏

> 对使用 Cobra 进行 CLI 开发感兴趣吗?  
>  可以看看我的博客 [Getting started with CLI's using Golang](https://dev.to/siddheshk02/getting-started-with-clis-using-golang-1edo)

### 5\. [Viper](https://github.com/spf13/viper)

**搞定配置管理**

Viper 是一个全面的配置管理库。它支持从文件、环境变量和命令行标志读取。

* 为什么使用它:

* 轻松处理多个配置源。

* 支持配置文件的动态重载。

* 与 JSON、YAML 等格式无缝集成。  

* 示例:
package 主

import (
    "fmt"
    "github.com/spf13/viper"
)

func main() {
    viper.SetConfigName("config")
    viper.AddConfigPath(".")
    if err := viper.ReadInConfig(); err != nil {
        panic(err)
    }
    fmt.Println("应用名:", viper.GetString("app.name"))
}

点击这里进入全屏模式,点击这里退出全屏模式

* 安装步骤:

go get -u github.com/spf13/viper


运行此命令来更新并获取来自github.com/spf13/viper的最新代码

切换到全屏 / 退出全屏

### 额外推荐:[测试工具](https://github.com/stretchr/testify) (一个用于测试的工具)

虽然没有排在前五名,**Testify** 还是值得一提的,因为它对单元测试和模拟测试的支持非常好。

* 安装:

在终端中输入以下命令来更新并获取/testify 依赖包:```go get -u github.com/stretchr/testify```

进入全屏模式(点击此处),退出全屏模式(点击此处)

## 最后的总结

这些库可以大大提升你在后端开发中的效率和代码质量。不论是搭建API、管理配置,还是写日志,这些工具都能帮到你。

如果你想深入了解Golang,可以看看我的[Fiber框架系列博客](https://dev.to/siddheshk02/series/21222)(Fiber框架是一个快速的Web框架),里面有教你一步步构建可扩展web应用的实操教程。

你用过这些库中的任何一个吗,或者你有其他更喜欢的库吗?在评论区告诉我哦!让我们一起继续学习和构建吧。
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP