当前位置: 首页 > news >正文

(Go Gin)基于Go的WEB开发框架,GO Gin是什么?怎么启动?本文给你答案

1. Go的三大WEB框架介绍

Gin:Go语言编写的Web框架,以更好的性能实现类似Martini框架的API

  • Gin是一个golang的微框架,封装优化,API友好,源码注释明确
  • 具有快速灵活、容错方便等特点
  • Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点
  • 对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错
  • 借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范
package mainimport ("net/http""github.com/gin-gonic/gin"
)func main() {// 1.创建路由r := gin.Default()// 2.绑定路由规则,执行的函数// gin.Context,封装了request和responser.GET("/", func(c *gin.Context) {c.String(http.StatusOK, "hello World!")})// 3.监听端口,默认在8080// Run("里面不指定端口号默认为8080") r.Run(":8000")
}

Beego:开源的高性能Go语言Web框架

  • beego是一个快速开发Go应用的http框架;
  • beego开源用来快速开发API、Web、后端服务等各种应用,是一个RESTFul的框架,主要设计灵感来源于tornado、sinatra、flask这三个框架。
    • 它结合了Go本身的一些特性(interface、struct继承等)而设计的一个框架

Iris:最快的Go语言Web框架,完备的MVC支持

  • 快速、简单功能齐全的和非常有效的web框架。
  • 提供了一个优美的表现力和容易使用你的下一个网站或API的基础

在这里插入图片描述

2. 快速上手

新建一个Go项目

创建一个main.go文件,当作主入口文件

  • 关键点在于引入 "github.com/gin-gonic/gin"

main.go

package mainimport ("github.com/gin-gonic/gin""net/http"
)func main() {// 1.创建Gin路由r := gin.Default()// 2.绑定路由规则,执行的函数// gin.Context,封装了request和responser.GET("/ping", func(c *gin.Context) {c.JSON(http.StatusOK, "yes")})// 3. 监听端口,默认是8080;可以自定义端口r.Run(":8080")
}
  • 当运行main方法后,就代表web服务启动了

启动服务后,在浏览器中输入localhost:8080/ping就能可以访问了

  • 8080端口是通过 r.Run() 方法设置
  • /ping请求路由,通过r.GET/r.POSt/…函数设置
http://www.xdnf.cn/news/139861.html

相关文章:

  • 防火墙技术深度解析:从包过滤到云原生防火墙的部署与实战
  • 【1】GD32 系统架构、内核、中断系统、存储器系统
  • IDEA编写flinkSQL(快速体验版本,--无需配置环境)
  • Vue3后代组件多祖先通讯设计方案
  • OpenCV 图形API(63)图像结构分析和形状描述符------计算图像中非零像素的边界框函数boundingRect()
  • 52.[前端开发-JS实战框架应用]Day03-AJAX-插件开发-备课项目实战-Lodash
  • ubuntu20.04安装x11vnc远程桌面
  • AI数据分析的利器:解锁BI工具的无限潜力
  • android将打包文件的password和alias写入到本地文件
  • 区块链如何达成共识:PoW/PoS/DPoS的原理、争议与适用场景全解
  • 一些有关ffmpeg 使用(1)
  • LSPatch官方版:无Root Xposed框架,自由定制手机体验
  • MySQL的日志--Undo Log【学习笔记】
  • MCP认证考试技术难题实战破解:从IP冲突到PowerShell命令的深度指南
  • Hadoop进阶之路
  • 第100+39步 ChatGPT学习:R语言实现Xgboost SHAP
  • AI网络渗透kali应用(gptshell)
  • 第十二天 使用Unity Test Framework进行自动化测试 性能优化:Profiler分析、内存管理
  • 【QQmusic自定义控件实现音乐播放器核心交互逻辑】第三章
  • PyCharm 中 FREECAD 二次开发:从基础建模到深度定制
  • uni-app中获取用户实时位置完整指南:解决权限报错问题
  • 运维之SSD硬盘(SSD hard Drive for Operation and Maintenance)
  • Spring Cloud Gateway 如何将请求分发到各个服务
  • AI 工程师崛起:科技浪潮下的新兴力量
  • 机器学习的基本概念
  • 纯HTMLCSS静态网站——元神
  • 论文阅读笔记——ZeroGrasp: Zero-Shot Shape Reconstruction Enabled Robotic Grasping
  • 什么是视频上墙
  • 【研究学习】开源调制识别数据集
  • freeswitch配置视频对接