Go语言的四种开发框架

本文介绍了四个流行的Go语言开发框架:Beego(基于MVC和REST,适合PHP转Go开发者),Gin(优雅封装,API友好),Iris(高性能,支持多种模板引擎),以及Echo(轻量级,高性能)。每个框架的特点、安装方法和示例代码都有详细说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方便学习记录分享四种开发框架

一、beego

1. 简介

bee Go 是一个快速开发 Go 应用的 HTTP 框架,可以用来快速开发 API、Web 后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado 、sinatra 和 flask 这三个框架,并结合了 Go 本身的一些特性(interface、 struct 嵌入等)而设计的一个框架。(个人认为和PHP的laravel框架很像,PHP转go可以优先考虑此框架)

1、MVC
2、REST
3、智能路由
4、日志调试
5、配置管理
6、模板自动渲染
7、layout设计
8、中间件插入逻辑
9、方便的JSON/XML服务

2. 安装

go get github.com/astaxie/beego 

3. 项目结构

├── conf
│   └── app.conf 项目配置
├── controllers
│   ├── admin
│   └── default.go
├── main.go  入口文件
├── models
│   └── models.go
├──  static 
│   ├── css
│   ├── ico
│   ├── img
│   └── js
│── views
│   ├── admin
│   └── index.tpl 
└── routers
    └── router.go 路由配置

从上面的目录结构可以看出来 M(models 目录)、V(views 目录)和 C(controllers 目录)的结构, main.go 是入口文件,对于PHP转go语言的开发人员相对来说很容易看懂的了。

二、 Gin框架

1. 简介

Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,
容错方便等特点

对于 golang 而言,web框架的依赖要远比Python,Java之类的要小。自身的 net/http 
足够简单,性能也非常不错

借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范

1. 安装

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

2. 示例代码

package main

import (
    "net/http"

    "github.com/gin- go nic/gin"
)

func main() {
    // 1.创建路由
   r := gin.Default()
   // 2.绑定路由规则,执行的函数
   // gin.Context,封装了 request 和response
   r.GET("/", func(c *gin.Context) {
      c.String(http.StatusOK, "hello World!")
   })
   // 3.监听端口,默认在8080
   // Run("里面不指定端口号默认为8080") 
   r.Run(":8000")
} 

三、Iris框架

1. 简介

Iris是一款Go语言中用来开发web应用的框架,该框架支持编写一次并在任何地方以最小的机器功率运行,如Android、ios、Linux和Windows等。该框架只需要一个可执行的服务就可以在平台上运行了。

Iris框架以简单而强大的api而被开发者所熟悉。iris除了为开发者提供非常简单的访问方式外,还同样支持MVC。另外,用iris构建微服务也很容易。

在iris框架的官方网站上,被称为速度最快的Go后端开发框架。在Iris的网站文档上,列出了该框架具备的一些特点和框架特性,列举如下:

1)聚焦高性能

2)健壮的静态路由支持和通配符子域名支持

3)视图系统支持超过6种以上模板引擎

4)支持定制事件的高可扩展性Websocket API

5)带有GC, 内存 & redis 提供支持的会话

6)方便的 中间件 和插件

7)完整 REST API

8)能定制 HTTP 错误

9)源码改变后自动加载

2. 安装

go get github.com/kataras/iris/v12@latest 

3. 示例代码

package main

import "github.com/kataras/iris/v12"

func main() {
    app := iris.Default()
    app.Use(my Middleware )

    app.Handle("GET", "/", func(ctx iris.Context) {
        ctx.JSON(iris.Map{"message": "hello World!"})
    })

    // Listens and serves incoming http requests
    // on 
    app.Run(iris.Addr(":8080"))
}

func myMiddleware(ctx iris.Context) {
    ctx.Application().Logger().Infof("Runs before %s", ctx.Path())
    ctx.Next()
}
 

四、Echo框架

1. 简介

echo web框架是go语言开发的一种高性能,可扩展,轻量级的web框架。
echo框架真的非常简单,几行代码就可以启动一个高性能的http服务端。

2. 安装

go get github.com/labstack/echo/v4 

3. 示例代码

package main

import (
    "net/http"

    "github.com/labstack/echo"
)

func main() {
    e := echo.New()
    e.GET("/", func(c echo.Context) error {
        return c.String(http.StatusOK, "Hello, World!")
    })
    e.Logger.Fatal(e.Start(":1323"))
}
 

以上为本次分享,本人也是PHP转go,一步步学习,相信大家都是大牛

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值