Go常用开发框架 | 青训营笔记

197 阅读4分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天

一、重点内容:

1.1 知识要点有哪些?

  • Go常用开发框架介绍
  • Go开发框架详解

二、详细知识点介绍:

2.1 Go常用开发框架介绍

框架是敏捷开发的助推器,能帮助开发者快速上手,甚至有些人不会撰写程序而不用它。进步不是一蹴而就的,从写出程序到熟练掌握框架技能,再到快速构造应用,熟练之后就可以着手改造框架,或是自行创造一个新的框架。

Go语言支持多个Web框架,其中最流行的是Gin框架和Echo框架。Gin框架是Go语言的快速Web开发框架,基于httprouter路由引擎,具有简洁的API,可以帮助开发者快速地构建Web应用。它还提供了非常强大的路由器,可以帮助我们处理复杂的请求。而Echo框架则是一个经过优化的快速Web框架,旨在提供极高的性能和高可扩展性,可以帮助用户快速地构建Web应用和服务。 Go语言支持多个Web框架,其中最流行的是Gin框架和Echo框架。除此之外,还有BeeGo和Iris开发框架。

  • Gin框架是Go语言的快速Web开发框架,基于httprouter路由引擎,具有简洁的API,可以帮助人们快速地构建Web应用。它还提供了非常强大的路由器,可以帮助我们处理复杂的请求。
  • Echo框架则是一个经过优化的快速Web框架,旨在提供极高的性能和高可扩展性,可以帮助用户快速地构建Web应用和服务。
  • BeeGo框架是一个开源的Go语言Web开发框架,它使用了简单、易学的Golang标准库,可以帮助开发者快速地构建高性能的Web应用。它拥有强大的MVC架构,支持多进程处理请求,并具有可扩展性和高性能。此外,它包括一个web服务器,可以帮助开发者节省系统资源,并提供了丰富的文档和教程,可以帮助开发者更快地上手。
  • Iris框架是一个基于Go语言的轻量级Web框架,旨在提供更佳的性能和更优的API设计。Iris的目标是提供一个强大的REST接口,具有优雅的API设计、更快的性能和更好的可扩展性。Iris提供了丰富的文档和教程,可以帮助开发者快速上手,并创建具有高性能、可扩展和高效率的Web应用。

2.2 Gin

Gin 是一个用 Go (Golang) 编写的 Web 框架。 它具有类似 martini 的 API,性能要好得多,多亏了 httprouter,速度提高了 40 倍。 Gin快速入门代码如下:

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")
}

2.3 Echo

Echo是一个基于Go语言的网络 Web 框架,它支持开发快速、高性能的单页面应用(SPA)和多页面应用(MPA)。它包含一系列功能,如路由,中间件,模板渲染,静态文件处理等,可以在服务端和客户端使用。 Echo快速入门代码如下:

package main

import (
	"github.com/labstack/echo/v4"
)

func main() {
	e := echo.New()
	e.GET("/", func(c echo.Context) error {
		return c.JSON(200, map[string]string{"message": "Hello World!"})
	})
	e.Logger.Fatal(e.Start(":1323"))
}

2.4 BeeGo

beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。Beego框架支持路由、控制器、模版引擎、日志处理、ORM支持以及自定义插件等特性。 Beego入门代码如下:

package main

import (
	"github.com/astaxie/beego"
)

type MainController struct {
	beego.Controller
}

func (c *MainController) Get() {
	c.Ctx.WriteString("Hello World!")
}

func main() {
	beego.Router("/", &MainController{})
	beego.Run()
}

2.5 Iris

Iris是一个基于Go语言的网络 Web 框架,它支持快速、高性能的Web应用开发。Iris提供了全功能的HTTP服务器,带有高性能的路由系统,中间件,模板引擎,静态文件服务等功能。 Iris快速入门代码如下:

import iris

app = iris.Application()

@app.route('/', methods=['GET'])
def index():
    return "Hello World!"

if __name__ == '__main__':
    app.run(port=8000, debug=True)

三、引用参考:

Gin

Echo

Beego

Iris