zvvq技术分享网

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

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

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

zvvq.cn

内容来自zvvq

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

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

packagemain

内容来自samhan

import( 内容来自samhan666

"net/http"

zvvq

"github.com/labstack/echo/v4"

zvvq

) 内容来自zvvq

funcmain(){

内容来自samhan666

e:=echo.New() 内容来自samhan666

e.GET("/",func(cecho.Context)error{ 内容来自samhan666

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

内容来自zvvq

})

内容来自samhan666

e.Logger.Fatal(e.Start(":3000")) 内容来自samhan

} copyright zvvq

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

packagemain zvvq好,好zvvq

import( zvvq.cn

"net/http"

内容来自zvvq

"github.com/gin-gonic/gin"

内容来自zvvq

)

内容来自zvvq,别采集哟

funcmain(){

内容来自zvvq

router:=gin.Default() zvvq.cn

router.GET("/",func(c*gin.Context){

内容来自zvvq,别采集哟

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

本文来自zvvq

"message":"Hello,World!",

zvvq好,好zvvq

})

内容来自zvvq

})

内容来自samhan666

router.Run(":8080")

内容来自zvvq,别采集哟

}

copyright zvvq

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

packagemain 内容来自samhan

import( copyright zvvq

"fmt"

zvvq好,好zvvq

"github.com/jinzhu/gorm" 内容来自samhan666

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

内容来自zvvq,别采集哟

) 本文来自zvvq

typeUserstruct{

zvvq好,好zvvq

IDuint

zvvq

Namestring copyright zvvq

} 本文来自zvvq

funcmain(){ 内容来自zvvq,别采集哟

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

内容来自samhan666

iferr!=nil{

内容来自samhan666

panic(err)

内容来自samhan

}

copyright zvvq

deferdb.Close() 内容来自samhan

user:=User{Name:"JohnDoe"}

内容来自samhan666

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

内容来自zvvq

panic(err)

内容来自samhan

} 内容来自zvvq,别采集哟

fmt.Println("Usercreatedsuccessfully:",user)

zvvq

}

zvvq好,好zvvq

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

packagemain

内容来自zvvq

import( copyright zvvq

"net/http" 内容来自samhan

"github.com/gorilla/mux" copyright zvvq

"github.com/gorilla/sessions" 内容来自samhan

)

zvvq

funcmain(){

zvvq.cn

router:=mux.NewRouter()

内容来自zvvq

store:=sessions.NewCookieStore([]byte("secret-key")) 内容来自zvvq

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

copyright zvvq

router.HandleFunc("/",func(whttp.ResponseWriter,r*http.Request){

zvvq

session,_:=store.Get(r,"session-id") 内容来自zvvq

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

内容来自zvvq

session.Save(r,w)

本文来自zvvq

}) 本文来自zvvq

http.ListenAndServe(":8080",router)

内容来自zvvq

} zvvq.cn

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

packagemain

copyright zvvq

import(

zvvq.cn

"fmt" zvvq好,好zvvq

"github.com/spf13/viper" 内容来自zvvq,别采集哟

)

内容来自samhan

funcmain(){

内容来自zvvq

viper.SetConfigName("config")

zvvq

viper.SetConfigType("json") copyright zvvq

viper.AddConfigPath("./configs")

copyright zvvq

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

zvvq

panic(err)

zvvq好,好zvvq

}

内容来自samhan

fmt.Println("APIKey:",viper.GetString("api_key")) 内容来自zvvq

}

zvvq

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

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