ZVVQ代理分享网

初学者必知的 Go 框架(go流行框架)

作者:zvvq博客网
导读对于 go 开发初学者,必备的五个框架包括:echo:高性能、可扩展的 web 框架gin:轻量、快速、支持多种格式的 web 框架gorm:易用的 orm,支持多种数据库gorilla toolkit:实用程序库,提供

针对 go 开发新手,必备的五个架构包含:echo:高性能、可扩展的 web 架构gin:轻巧、迅速、提供多种格式 web 架构gorm:易用的 orm,提供多种数据库gorilla toolkit:实用程序库,给予路由、对话管理等功能viper:简单配备库,提供多种格式

新手必备的 Go 架构针对 Go 开发者而言,选择合适的架构尤为重要。架构可以简化研发流程、提供额外的作用并促进代码的可重用性。本文将介绍新手必备的 Go 架构,并提供实际案例 以展示其用法。

1. EchoEcho 是一款高性能、可扩展的 web 架构,因为他易于使用和强大的可定制性而著称。它提供了一系列中间件,帮助你轻松解决要求、验证和身份认证。

packagemain

import(

"net/http"

"github.com/labstack/echo/v4"

)

funcmain(){

e:=echo.New()

e.GET("/",func(cecho.Context)error{

returnc.String(http.StatusOK,"Hello,World!")

})

e.Logger.Fatal(e.Start(":3000"))

}

2. GinGin 是另一个轻量且高性能的 web 架构,因其速率、灵活性以及对 JSON、YAML 等各个格式适用而著称。

packagemain

import(

"net/http"

"github.com/gin-gonic/gin"

)

funcmain(){

router:=gin.Default()

router.GET("/",func(cgin.Context){

c.JSON(http.StatusOK,gin.H{

"message":"Hello,World!",

})

})

router.Run(":8080")

}

3. GORMGORM 是一个智能化且易于使用的 ORM(对象关系映射器),为开发者带来了对数据库便捷浏览。它提供多种数据库,包含 MySQL、PostgreSQL 和 SQLite。

packagemain

import(

"fmt"

"github.com/jinzhu/gorm"

_"github.com/jinzhu/gorm/dialects/mysql"

)

typeUserstruct{

IDuint

Namestring

}

funcmain(){

db,err:=gorm.Open("mysql","user:password@tcp(127.0.0.1:3306)/database?charset=utf8&parseTime=True&loc=Local")

iferr!=nil{

panic(err)

}

deferdb.Close()

user:=User{Name:"JohnDoe"}

iferr:=db.Create(&user).Error;err!=nil{

panic(err)

}

fmt.Println("Usercreatedsuccessfully:",user)

}

4. Gorilla ToolkitGorilla Toolkit 是一组实用程序库,为常见编程任务给予标准库工具。比如,它提供路由、会话管理和身份认证中间件。

packagemain

import(

"net/http"

"github.com/gorilla/mux"

"github.com/gorilla/sessions"

)

funcmain(){

router:=mux.NewRouter()

store:=sessions.NewCookieStore([]byte("secret-key"))

router.Use(sessions.Sessions("session-id",store))

router.HandleFunc("/",func(whttp.ResponseWriter,rhttp.Request){

session,_:=store.Get(r,"session-id")

session.Values["user"]="JohnDoe"

session.Save(r,w)

})

http.ListenAndServe(":8080",router)

}

5. ViperViper 是一个简单的 Go 配备库,用以读取和写入应用软件配备。它提供多种格式,如 JSON、YAML 和 TOML。

packagemain

import(

"fmt"

"github.com/spf13/viper"

)

funcmain(){

viper.SetConfigName("config")

viper.SetConfigType("json")

viper.AddConfigPath("./configs")

iferr:=viper.ReadInConfig();err!=nil{

panic(err)

}

fmt.Println("APIKey:",viper.GetString("api_key"))

}

以上是新手必备的五个 Go 架构。他们带来了普遍功能和用途,能够显着提高你的 Go 开发效率。通过这个架构,您能够轻松搭建健硕、高性能的 Web 应用软件、解决数据库交互、管理配备并实施别的普遍任务。

以上就是新手必备的 Go 架构的详细内容,大量请关注其他类似文章!