本文介绍了五种流行的 go 架构,对于新手挑选:beego:轻量、高性能,适宜小型到中型 web 运用。echo:简约、轻量,致力于性能扩展性。gin:迅速、雅致,提供丰富中间件和灵活路由。gorilla mux:强悍的 http 路由器,提供强大的路由配对和灵活的自定义。buffalo:全栈架构,给予开箱即用的身份认证、数据库集成作用,适宜繁杂的 web 运用。
Go 架构入门:初学者的选择1. Beego介绍:一款轻量、高性能的 Go Web 架构,适宜搭建小型到中型的 Web 运用。
实战案例 :
packagemain
import(
"github.com/beego/beego/v2/server/web"
)
funcmain(){
web.Get("/",func(cweb.Controller){
c.Data["Website"]="beego.me"
c.TplName="index.tpl"
})
web.Run()
}
2. Echo介绍:简约、轻量级的 Go HTTP 架构,致力于性能扩展性。
实战案例 :
packagemain
import(
"github.com/labstack/echo/v4"
)
funcmain(){
e:=echo.New()
e.GET("/",func(cecho.Context)error{
returnc.String(200,"Hello,world!")
})
e.Logger.Fatal(e.Start(":8080"))
}
3. Gin介绍:一款时尚、雅致、快速地 Go HTTP 架构,提供大量中间件和灵活的路由。
实战案例 :
packagemain
import(
"github.com/gin-gonic/gin"
)
funcmain(){
r:=gin.Default()
r.GET("/",func(cgin.Context){
c.JSON(200,gin.H{
"message":"Hello,world!",
})
})
r.Run()
}
4. Gorilla mux介绍:强悍的 HTTP 路由器,提供强大的路由配对和灵活的自定义。
实战案例 :
packagemain
import(
"fmt"
"net/http"
"github.com/gorilla/mux"
)
funcmain(){
r:=mux.NewRouter()
r.HandleFunc("/",func(whttp.ResponseWriter,rhttp.Request){
fmt.Fprintf(w,"Hello,world!")
}).Methods("GET")
http.ListenAndServe(":8080",r)
}
5. Buffalo介绍:全栈 Go Web 架构,给予开箱即用的身份认证、数据库集成作用,适宜搭建繁杂的 Web 运用。
实战案例 :
packagemain
import(
"fmt"
"github.com/gobuffalo/buffalo"
)
funcmain(){
app:=buffalo.New(buffalo.Options{
Env:buffalo.Development,
Host:"0.0.0.0",
Port:3000,
})
app.GET("/",func(cbuffalo.Context)error{
returnc.Render(200,r.String("index"),map[string]interface{}{
"message":"Hello,world!",
})
})
app.Serve()
}
以上就是Go 架构入门:初学者的选择的详细内容,大量请关注zvvq技术分享网其他类似文章!