Gin 框架介绍与快速入门

这篇具有很好参考价值的文章主要介绍了Gin 框架介绍与快速入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Gin 框架介绍与快速入门

目录
  • Gin 框架介绍与快速入门
    • 一、Gin框架介绍
      • 1. 快速和轻量级
      • 2. 路由和中间件
      • 3. JSON解析
      • 4. 支持插件
      • 5. Gin相关文档
    • 二、基本使用
      • 1.安装
      • 2.导入
      • 3.第一个Gin 应用
    • 三、应用举例
    • 四、Gin 入门核心
      • 1.gin.Engine
      • 2.gin.Context

一、Gin框架介绍

Gin是一个轻量级的Go语言Web框架,它具有高性能和简洁的设计。由于其快速的路由匹配和处理性能,Gin成为Go语言中最受欢迎的Web框架之一。以下是一些Gin框架的主要特点:

1. 快速和轻量级

Gin框架的设计注重性能和效率,采用了一些优化措施,使其成为一个快速而轻量级的框架。

2. 路由和中间件

Gin提供了强大的路由功能,支持参数传递、路由分组等特性。同时,它支持中间件的使用,可以方便地在请求处理过程中执行一系列的操作,比如身份验证、日志记录等。

3. JSON解析

Gin内置了对JSON的解析和序列化的支持,使得处理JSON数据变得简单而高效。

4. 支持插件

Gin允许开发者通过插件来扩展框架的功能,这样可以根据项目的需求进行灵活的定制。

5. Gin相关文档

  • GitHub 地址:https://github.com/gin-gonic/gin
  • 中文文档:https://gin-gonic.com/zh-cn/docs/

二、基本使用

1.安装

下载并安装Gin:

go get github.com/gin-gonic/gin@latest

2.导入

将其导入您的代码中:

import "github.com/gin-gonic/gin"

(可选)导入net/http。例如,如果使用常量,则需要这样做http.StatusOK。

import "net/http"

3.第一个Gin 应用

创建示例工程目录 gin-demo

mkdir gin-demo

目录下新建 gin.go 源文件:

package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

func main() {
	// 1. 创建一个默认的Gin引擎
	server := gin.Default()

	// 2. 定义路由:当使用 GET 方法访问路径为 /hello 时,执行回调函数
	server.GET("/hello", func(c *gin.Context) {
		// 3. 在回调函数中,返回一个字符串 "hello, go" 并设置HTTP状态码为200 OK
		c.String(http.StatusOK, "hello, go")
	})

	// 4. 启动服务,监听在 0.0.0.0:8080 上
	server.Run(":8080") // 如果不指定端口号,默认为8080
}

代码解释如下:

  1. server := gin.Default(): 创建一个Gin引擎。gin.Default()返回一个带有默认中间件的Gin引擎,包括Logger和Recovery中间件,用于日志记录和恢复。
  2. server.GET("/hello", func(c *gin.Context) {...}): 定义了一个GET方法的路由,当访问路径是/hello时,执行后面的回调函数。这里的回调函数使用gin.Context对象处理HTTP请求和构造HTTP响应。
  3. c.String(http.StatusOK, "hello, go"): 在回调函数中,通过c.String方法返回一个字符串 "hello, go" 并设置HTTP状态码为200 OK。
  4. server.Run(":8080"): 启动Web服务,监听在0.0.0.0:8080。如果不指定端口号,默认使用8080端口。此时,你可以通过浏览器或HTTP客户端访问http://localhost:8080/hello,将会得到 "hello, go" 的响应。

在项目 gin-demo 目录下,执行 go mod init gin-demogo mod tidy 命令完成依赖导入,将自动生产 go.mod 、go.sum 文件。

go mod init gin-demo
go mod tidy

gin-demo 目录执行命令 go run gin.go 启动 gin Web Server:

go run gin.go

看到输出监听端口了,就认为已经启动成功了。

Gin 框架介绍与快速入门

最后通过浏览器访问: http://localhost:8080/hello,就会输出如下:

Gin 框架介绍与快速入门

三、应用举例

以下项目都是使用 Gin 框架开发的:

  • gorush:Go 编写的通知推送服务器。
  • fnproject:容器原生,云 serverless 平台。
  • photoprism:基于 Go 和 Google TensorFlow 实现的个人照片管理工具。
  • krakend:拥有中间件的超高性能 API 网关。
  • picfit:Go 编写的图像尺寸调整服务器。
  • gotify:基于 WebSocket 进行实时消息收发的简单服务器。
  • cds:企业级持续交付和 DevOps 自动化开源平台。

四、Gin 入门核心

1.gin.Engine

Gin 里面,一个 Web 服务器被抽象成为 Engine。你可以在一个应用里面创建多个 Engine 实例,监听不同的端口。Engine 承担了路由注册、接入 middleware 的核心职责。

Gin 框架介绍与快速入门

如图,它组合了 RouterGroupRouterGroup 才是实现路由功能的核心组件。

Gin 框架介绍与快速入门

2.gin.Context

gin.ContextGin 里面的核心类型。应该说,你日常最经常的就是和它打交道。

它的字面意思就是“上下文”,在 Gin 里面,它的核心职责是:

  • 处理请求
  • 返回响应

Gin 框架介绍与快速入门

如图,Request 代表的就是请求,Writer 代表的就是响应。

Gin 框架介绍与快速入门文章来源地址https://www.toymoban.com/news/detail-776758.html

到了这里,关于Gin 框架介绍与快速入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Gin 框架入门实战系列(一)

    Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点 对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的 net/http 足够简单,性能也非常不错 借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团

    2024年02月11日
    浏览(32)
  • GoWeb -- gin框架的入门和使用(2)

    书接上回,在gin的框架使用中,还有着许多方法以及它们的作用,本篇博客将会接着上次的内容继续记录本人在学习gin框架时的思路和笔记。 如果还没有看过上篇博客的可以点此跳转。 请求url: http://localhost:8080/user/save?addressMap[home]=BeijingaddressMap[company]=shanghai 一般我们使用

    2024年02月07日
    浏览(32)
  • 定时任务框架快速入门

    1. Quartz 概述 Quartz 是一个开源的作业调度框架(job scheduler),几乎可以集成到任何 Java 应用程序中,从最小的独立应用程序到最大的电子商务系统。Quartz 可用于创建简单或复杂的调度来执行数十个、数百个甚至数万个作业;其任务被定义为标准 Java 组件的作业,这些组件几乎可

    2023年04月22日
    浏览(42)
  • Util应用框架快速入门(4) - 集成测试开发入门

    本文演示Util应用框架开发的项目中如何编写集成测试. 完成 Web Api 快速入门,本文将在之前生成的示例项目上讲解集成测试的开发. 自动化测试对于Util应用框架的开发非常重要,它能保证基础功能的稳定性. 对于使用 Util 开发的业务项目,自动化测试不是必须的,但掌握它可能很有

    2024年02月08日
    浏览(58)
  • Django项目框架搭建,快速入门Django

    Django提供了 django-admin 这个功能强大的命令行管理工具,其中最重要的就是可以利用它来完成项目的创建 startproject是 django-admin 的子命令,用于创建项目。这里,使用这个子命令创建了djangoy项目 项目的骨架如下: 启动django项目: 看到如下界面,代表一个初始的django项目创建

    2024年02月03日
    浏览(48)
  • SSM 整合 Shiro 安全框架【快速入门】

    更改web路径 创建所需目录 属性名与数据库字段名一 一对应 这里只是为了测试项目,还没有进行编码工作 启动tamcat服务 LoginVo

    2024年02月12日
    浏览(45)
  • Util应用框架 UI 开发快速入门

    本文是Util应用框架 Angular UI 开发快速入门教程. Util 应用框架目前仅支持用于开发管理后台的 UI. 本文介绍了 Util UI 的技术特点和功能支持. Js语言 TypeScript TypeScript 是 微软开发的脚本语言, 扩展了弱类型的 Javascript,提供增强的语法和强类型支持. 为编辑器代码提示和语法错误检

    2024年02月08日
    浏览(42)
  • 网络拓扑结构入门快速介绍

    (1)一层交换机是指工作于OSI模型的第1层(物理层)只支持物理层协议的交换机(例如电话程控交换机); (2)二层交换机是指工作于OSI模型的第2层(数据链路层)支持物理层和数据链路层协议的交换机 例如以太网交换机); (3)三层交换机是指工作在OSI网络标准模型

    2024年02月16日
    浏览(57)
  • 制造领域 基础概念快速入门介绍

    目录 1、基本背景知识  2、什么是BOM? 3、BOM有什么作用? 4、BOM有哪些形式? 4.1    按照用途划分 工程BOM——EBOM(Engineering BOM): 计划BOM——PBOM(Plan BOM): 设计BOM——DBOM(Design BOM): 制造BOM——MBOM(Manufacturing BOM): 客户BOM——CBOM(Customer BOM): 销售BOM——SBOM(SALE BOM): 维修

    2024年01月20日
    浏览(47)
  • Prometheus介绍安装和快速入门

    1.1 什么是 Prometheus? Prometheus(普罗米修斯)是古希腊的一个神明,名字的意思是「先见之明」。从它的名字可以看出, Prometheus 是做「先见之明」的监控告警用途。维基百科简单写了它的作用:Prometheus is a free software application used for event monitoring and alerting(Prometheus 是用来监控

    2024年02月10日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包