国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Gin 框架介紹與快速入門(mén)

這篇具有很好參考價(jià)值的文章主要介紹了Gin 框架介紹與快速入門(mén)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Gin 框架介紹與快速入門(mén)

目錄
  • Gin 框架介紹與快速入門(mén)
    • 一、Gin框架介紹
      • 1. 快速和輕量級(jí)
      • 2. 路由和中間件
      • 3. JSON解析
      • 4. 支持插件
      • 5. Gin相關(guān)文檔
    • 二、基本使用
      • 1.安裝
      • 2.導(dǎo)入
      • 3.第一個(gè)Gin 應(yīng)用
    • 三、應(yīng)用舉例
    • 四、Gin 入門(mén)核心
      • 1.gin.Engine
      • 2.gin.Context

一、Gin框架介紹

Gin是一個(gè)輕量級(jí)的Go語(yǔ)言Web框架,它具有高性能和簡(jiǎn)潔的設(shè)計(jì)。由于其快速的路由匹配和處理性能,Gin成為Go語(yǔ)言中最受歡迎的Web框架之一。以下是一些Gin框架的主要特點(diǎn):

1. 快速和輕量級(jí)

Gin框架的設(shè)計(jì)注重性能和效率,采用了一些優(yōu)化措施,使其成為一個(gè)快速而輕量級(jí)的框架。

2. 路由和中間件

Gin提供了強(qiáng)大的路由功能,支持參數(shù)傳遞、路由分組等特性。同時(shí),它支持中間件的使用,可以方便地在請(qǐng)求處理過(guò)程中執(zhí)行一系列的操作,比如身份驗(yàn)證、日志記錄等。

3. JSON解析

Gin內(nèi)置了對(duì)JSON的解析和序列化的支持,使得處理JSON數(shù)據(jù)變得簡(jiǎn)單而高效。

4. 支持插件

Gin允許開(kāi)發(fā)者通過(guò)插件來(lái)擴(kuò)展框架的功能,這樣可以根據(jù)項(xiàng)目的需求進(jìn)行靈活的定制。

5. Gin相關(guān)文檔

  • 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.導(dǎo)入

將其導(dǎo)入您的代碼中:

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

(可選)導(dǎo)入net/http。例如,如果使用常量,則需要這樣做http.StatusOK。

import "net/http"

3.第一個(gè)Gin 應(yīng)用

創(chuàng)建示例工程目錄 gin-demo

mkdir gin-demo

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

package main

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

func main() {
	// 1. 創(chuàng)建一個(gè)默認(rèn)的Gin引擎
	server := gin.Default()

	// 2. 定義路由:當(dāng)使用 GET 方法訪問(wèn)路徑為 /hello 時(shí),執(zhí)行回調(diào)函數(shù)
	server.GET("/hello", func(c *gin.Context) {
		// 3. 在回調(diào)函數(shù)中,返回一個(gè)字符串 "hello, go" 并設(shè)置HTTP狀態(tài)碼為200 OK
		c.String(http.StatusOK, "hello, go")
	})

	// 4. 啟動(dòng)服務(wù),監(jiān)聽(tīng)在 0.0.0.0:8080 上
	server.Run(":8080") // 如果不指定端口號(hào),默認(rèn)為8080
}

代碼解釋如下:

  1. server := gin.Default(): 創(chuàng)建一個(gè)Gin引擎。gin.Default()返回一個(gè)帶有默認(rèn)中間件的Gin引擎,包括Logger和Recovery中間件,用于日志記錄和恢復(fù)。
  2. server.GET("/hello", func(c *gin.Context) {...}): 定義了一個(gè)GET方法的路由,當(dāng)訪問(wèn)路徑是/hello時(shí),執(zhí)行后面的回調(diào)函數(shù)。這里的回調(diào)函數(shù)使用gin.Context對(duì)象處理HTTP請(qǐng)求和構(gòu)造HTTP響應(yīng)。
  3. c.String(http.StatusOK, "hello, go"): 在回調(diào)函數(shù)中,通過(guò)c.String方法返回一個(gè)字符串 "hello, go" 并設(shè)置HTTP狀態(tài)碼為200 OK。
  4. server.Run(":8080"): 啟動(dòng)Web服務(wù),監(jiān)聽(tīng)在0.0.0.0:8080。如果不指定端口號(hào),默認(rèn)使用8080端口。此時(shí),你可以通過(guò)瀏覽器或HTTP客戶端訪問(wèn)http://localhost:8080/hello,將會(huì)得到 "hello, go" 的響應(yīng)。

在項(xiàng)目 gin-demo 目錄下,執(zhí)行 go mod init gin-demogo mod tidy 命令完成依賴導(dǎo)入,將自動(dòng)生產(chǎn) go.mod 、go.sum 文件。

go mod init gin-demo
go mod tidy

gin-demo 目錄執(zhí)行命令 go run gin.go 啟動(dòng) gin Web Server:

go run gin.go

看到輸出監(jiān)聽(tīng)端口了,就認(rèn)為已經(jīng)啟動(dòng)成功了。

Gin 框架介紹與快速入門(mén)

最后通過(guò)瀏覽器訪問(wèn): http://localhost:8080/hello,就會(huì)輸出如下:

Gin 框架介紹與快速入門(mén)

三、應(yīng)用舉例

以下項(xiàng)目都是使用 Gin 框架開(kāi)發(fā)的:

  • gorush:Go 編寫(xiě)的通知推送服務(wù)器。
  • fnproject:容器原生,云 serverless 平臺(tái)。
  • photoprism:基于 Go 和 Google TensorFlow 實(shí)現(xiàn)的個(gè)人照片管理工具。
  • krakend:擁有中間件的超高性能 API 網(wǎng)關(guān)。
  • picfit:Go 編寫(xiě)的圖像尺寸調(diào)整服務(wù)器。
  • gotify:基于 WebSocket 進(jìn)行實(shí)時(shí)消息收發(fā)的簡(jiǎn)單服務(wù)器。
  • cds:企業(yè)級(jí)持續(xù)交付和 DevOps 自動(dòng)化開(kāi)源平臺(tái)。

四、Gin 入門(mén)核心

1.gin.Engine

Gin 里面,一個(gè) Web 服務(wù)器被抽象成為 Engine。你可以在一個(gè)應(yīng)用里面創(chuàng)建多個(gè) Engine 實(shí)例,監(jiān)聽(tīng)不同的端口。Engine 承擔(dān)了路由注冊(cè)、接入 middleware 的核心職責(zé)。

Gin 框架介紹與快速入門(mén)

如圖,它組合了 RouterGroup,RouterGroup 才是實(shí)現(xiàn)路由功能的核心組件。

Gin 框架介紹與快速入門(mén)

2.gin.Context

gin.ContextGin 里面的核心類型。應(yīng)該說(shuō),你日常最經(jīng)常的就是和它打交道。

它的字面意思就是“上下文”,在 Gin 里面,它的核心職責(zé)是:

  • 處理請(qǐng)求
  • 返回響應(yīng)

Gin 框架介紹與快速入門(mén)

如圖,Request 代表的就是請(qǐng)求,Writer 代表的就是響應(yīng)。

Gin 框架介紹與快速入門(mén)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-776758.html

到了這里,關(guān)于Gin 框架介紹與快速入門(mén)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Gin 框架入門(mén)實(shí)戰(zhàn)系列(一)

    Gin 框架入門(mén)實(shí)戰(zhàn)系列(一)

    Gin是一個(gè)golang的微框架,封裝比較優(yōu)雅,API友好,源碼注釋比較明確,具有快速靈活,容錯(cuò)方便等特點(diǎn) 對(duì)于golang而言,web框架的依賴要遠(yuǎn)比Python,Java之類的要小。自身的 net/http 足夠簡(jiǎn)單,性能也非常不錯(cuò) 借助框架開(kāi)發(fā),不僅可以省去很多常用的封裝帶來(lái)的時(shí)間,也有助于團(tuán)

    2024年02月11日
    瀏覽(15)
  • GoWeb -- gin框架的入門(mén)和使用(2)

    GoWeb -- gin框架的入門(mén)和使用(2)

    書(shū)接上回,在gin的框架使用中,還有著許多方法以及它們的作用,本篇博客將會(huì)接著上次的內(nèi)容繼續(xù)記錄本人在學(xué)習(xí)gin框架時(shí)的思路和筆記。 如果還沒(méi)有看過(guò)上篇博客的可以點(diǎn)此跳轉(zhuǎn)。 請(qǐng)求url: http://localhost:8080/user/save?addressMap[home]=BeijingaddressMap[company]=shanghai 一般我們使用

    2024年02月07日
    瀏覽(14)
  • 定時(shí)任務(wù)框架快速入門(mén)

    定時(shí)任務(wù)框架快速入門(mén)

    1. Quartz 概述 Quartz 是一個(gè)開(kāi)源的作業(yè)調(diào)度框架(job scheduler),幾乎可以集成到任何 Java 應(yīng)用程序中,從最小的獨(dú)立應(yīng)用程序到最大的電子商務(wù)系統(tǒng)。Quartz 可用于創(chuàng)建簡(jiǎn)單或復(fù)雜的調(diào)度來(lái)執(zhí)行數(shù)十個(gè)、數(shù)百個(gè)甚至數(shù)萬(wàn)個(gè)作業(yè);其任務(wù)被定義為標(biāo)準(zhǔn) Java 組件的作業(yè),這些組件幾乎可

    2023年04月22日
    瀏覽(17)
  • Util應(yīng)用框架快速入門(mén)(4) - 集成測(cè)試開(kāi)發(fā)入門(mén)

    Util應(yīng)用框架快速入門(mén)(4) - 集成測(cè)試開(kāi)發(fā)入門(mén)

    本文演示Util應(yīng)用框架開(kāi)發(fā)的項(xiàng)目中如何編寫(xiě)集成測(cè)試. 完成 Web Api 快速入門(mén),本文將在之前生成的示例項(xiàng)目上講解集成測(cè)試的開(kāi)發(fā). 自動(dòng)化測(cè)試對(duì)于Util應(yīng)用框架的開(kāi)發(fā)非常重要,它能保證基礎(chǔ)功能的穩(wěn)定性. 對(duì)于使用 Util 開(kāi)發(fā)的業(yè)務(wù)項(xiàng)目,自動(dòng)化測(cè)試不是必須的,但掌握它可能很有

    2024年02月08日
    瀏覽(93)
  • Django項(xiàng)目框架搭建,快速入門(mén)Django

    Django項(xiàng)目框架搭建,快速入門(mén)Django

    Django提供了 django-admin 這個(gè)功能強(qiáng)大的命令行管理工具,其中最重要的就是可以利用它來(lái)完成項(xiàng)目的創(chuàng)建 startproject是 django-admin 的子命令,用于創(chuàng)建項(xiàng)目。這里,使用這個(gè)子命令創(chuàng)建了djangoy項(xiàng)目 項(xiàng)目的骨架如下: 啟動(dòng)django項(xiàng)目: 看到如下界面,代表一個(gè)初始的django項(xiàng)目創(chuàng)建

    2024年02月03日
    瀏覽(27)
  • SSM 整合 Shiro 安全框架【快速入門(mén)】

    SSM 整合 Shiro 安全框架【快速入門(mén)】

    更改web路徑 創(chuàng)建所需目錄 屬性名與數(shù)據(jù)庫(kù)字段名一 一對(duì)應(yīng) 這里只是為了測(cè)試項(xiàng)目,還沒(méi)有進(jìn)行編碼工作 啟動(dòng)tamcat服務(wù) LoginVo

    2024年02月12日
    瀏覽(25)
  • Util應(yīng)用框架 UI 開(kāi)發(fā)快速入門(mén)

    Util應(yīng)用框架 UI 開(kāi)發(fā)快速入門(mén)

    本文是Util應(yīng)用框架 Angular UI 開(kāi)發(fā)快速入門(mén)教程. Util 應(yīng)用框架目前僅支持用于開(kāi)發(fā)管理后臺(tái)的 UI. 本文介紹了 Util UI 的技術(shù)特點(diǎn)和功能支持. Js語(yǔ)言 TypeScript TypeScript 是 微軟開(kāi)發(fā)的腳本語(yǔ)言, 擴(kuò)展了弱類型的 Javascript,提供增強(qiáng)的語(yǔ)法和強(qiáng)類型支持. 為編輯器代碼提示和語(yǔ)法錯(cuò)誤檢

    2024年02月08日
    瀏覽(20)
  • 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)入門(mén)快速介紹

    網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)入門(mén)快速介紹

    (1)一層交換機(jī)是指工作于OSI模型的第1層(物理層)只支持物理層協(xié)議的交換機(jī)(例如電話程控交換機(jī)); (2)二層交換機(jī)是指工作于OSI模型的第2層(數(shù)據(jù)鏈路層)支持物理層和數(shù)據(jù)鏈路層協(xié)議的交換機(jī) 例如以太網(wǎng)交換機(jī)); (3)三層交換機(jī)是指工作在OSI網(wǎng)絡(luò)標(biāo)準(zhǔn)模型

    2024年02月16日
    瀏覽(20)
  • 制造領(lǐng)域 基礎(chǔ)概念快速入門(mén)介紹

    制造領(lǐng)域 基礎(chǔ)概念快速入門(mén)介紹

    目錄 1、基本背景知識(shí)? 2、什么是BOM? 3、BOM有什么作用? 4、BOM有哪些形式? 4.1????按照用途劃分 工程BOM——EBOM(Engineering BOM): 計(jì)劃BOM——PBOM(Plan BOM): 設(shè)計(jì)BOM——DBOM(Design BOM): 制造BOM——MBOM(Manufacturing BOM): 客戶BOM——CBOM(Customer BOM): 銷售BOM——SBOM(SALE BOM): 維修

    2024年01月20日
    瀏覽(22)
  • Prometheus介紹安裝和快速入門(mén)

    Prometheus介紹安裝和快速入門(mén)

    1.1 什么是 Prometheus? Prometheus(普羅米修斯)是古希臘的一個(gè)神明,名字的意思是「先見(jiàn)之明」。從它的名字可以看出, Prometheus 是做「先見(jiàn)之明」的監(jiān)控告警用途。維基百科簡(jiǎn)單寫(xiě)了它的作用:Prometheus is a free software application used for event monitoring and alerting(Prometheus 是用來(lái)監(jiān)控

    2024年02月10日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包