Go语言的四种开发框架

百科知识2025-04-273

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

一、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 /astaxie/beego

  3. 项目结构
    ├── conf
    │ └── 项目配置
    ├── controllers
    │ ├── admin
    │ └──
    ├── 入口文件
    ├── models
    │ └──
    ├── static
    │ ├── css
    │ ├── ico
    │ ├── img
    │ └── js
    │── views
    │ ├── admin
    │ └──
    └── routers
    └── 路由配置

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

    二、 Gin框架

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

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

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

  1. 安装
    go get -u /gin-gonic/gin
  2. 示例代码
    package main

import (
"net/http"

"/gin- go nic/gin"

)

func main() {
// 1.创建路由
r := ()
// 2.绑定路由规则,执行的函数
// ,封装了 request 和response
("/", func(c *) {
(, "hello World!")
})
// 3.监听端口,默认在8080
// Run("里面不指定端口号默认为8080")
(":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 /kataras/iris/v12@latest
  3. 示例代码
    package main

import "/kataras/iris/v12"

func main() {
app := ()
(my Middleware )

("GET", "/", func(ctx ) {
    ({"message": "hello World!"})
})

// Listens and serves incoming http requests
// on 
((":8080"))

}

func myMiddleware(ctx ) {
().Logger().Infof("Runs before %s", ())
()
}

四、Echo框架

  1. 简介

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

  2. 安装
    go get /labstack/echo/v4
  3. 示例代码
    package main

import (
"net/http"

"/labstack/echo"

)

func main() {
e := ()
("/", func(c ) error {
return (, "Hello, World!")
})
((":1323"))
}

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