Go語言Gin框架的優秀應用案例,開源Web項目骨架了解一下

2020-09-03 Gitee官方



Gin 是一個用 Go (Golang) 編寫的 HTTP web 框架。 它是一個類似於 martini 但擁有更好性能的 API 框架, 優於 httprouter,速度提高了近 40 倍。今天為大家介紹的這款開源項目就是基於 Gin 框架的 Web 項目模板,歡迎大家使用和學習。

項目名稱:GoSkeleton

項目作者:張奇峰

開源許可協議:MIT

項目地址:https://gitee.com/daitougege/GinSkeleton

項目簡介

GoSkeleton 是一款基於 Go 語言 Gin 框架的 Web 項目骨架,專注於前後端分離的業務場景。其目的主要在於將 Web 項目主線邏輯梳理清晰,最基礎的東西封裝完善,開發者更多關注屬於自己的的業務即可。

本項目骨架封裝了以 tb_users 表為核心的全部功能(主要包括用戶相關的接口參數驗證器、註冊、登錄獲取 token、刷新 token、CURD 以及 token 鑑權等),開發者拉取本項目骨架,在此基礎上就可以快速開發自己的項目。

項目演示

快速上手

1.安裝的 Go 語言版本最好>=1.14,只為更好的支持 go module 包管理。

2.配置 Go 包的代理,參見https://goproxy.cn,有詳細設置教程。

3.使用 goland(>=2019.3版本) 打開本項目,找到 database/db_demo_mysql.sql 導入資料庫,自行配置帳號、密碼、埠等。

4.雙擊 cmd/(web|api|cli)/main.go ,進入代碼界面,滑鼠右鍵 run 運行本項目,首次會自動下載依賴, 片刻後即可啟動。

其他功能

1.資料庫( Sqlserver、Mysql、Redis)連接池內部封裝,無感知調用。

2.全局容器,將繁瑣代碼率先註冊,後續快捷調用,尤其是路由全程高度簡潔。

3.全局事件註冊,需要釋放的資源,率先註冊,程序退出時自動釋放。

4.路由只與中間件、表單參數驗證器綁定,將控制器等更深層邏輯隔離,使代碼更加簡潔。

5.統一配置、快速緩存、Jwt(token)、跨域、文件上傳公共模塊等常用模塊齊全。

6. websocket 嚴格按照標準協議封裝,隱式自動維護心跳,開發者只需要關注自己的核心業務即可。

7. Rabbitmq 消息隊列封裝完善,便於解決特定的複雜場景問題。

8. Cobra clit 模式包封裝,支持開發非常靈活的非http接口服務。

9. Httpclient 包集成,非常方便開發各種數據採集功能。

10.Aop 切面編程。

壓力測試

2核4g雲伺服器,並發(Qps)可以達到1w+,所有請求100%成功!

看了上面的這些介紹,如果你想親身嘗試一下這個 Web 項目骨架,那麼就點擊下方了解更多去項目主頁看看吧,記得給它一個 Star 哦。

相關焦點

  • Go語言Gin框架的優秀應用案例,開源Web項目骨架了解一下
    Gin 是一個用 Go (Golang) 編寫的 HTTP web 框架。 它是一個類似於 martini 但擁有更好性能的 API 框架, 優於 httprouter,速度提高了近 40 倍。今天為大家介紹的這款開源項目就是基於 Gin 框架的 Web 項目模板,歡迎大家使用和學習。
  • MixGo V1.0 發布,混合型高性能 Go 框架
    等多個流行組件,可以開發 console, api, web, grpc 等各種項目,並且引入了依賴注入、控制反轉、事件驅動等高級特徵,框架追求簡單實用主義,試圖讓更多開發者以更低的學習成本獲得極具生產力的第二程式語言。
  • 從工具到框架,總有一款你需要,新鮮優質的Web應用開發項目分享
    作為 Gitee 上開源項目最多的分類之一,Web 應用開發分類的優質項目層出不窮RPC 框架,在百度內部被大量採用,擁有超過 60 萬個實例和 500 多種服務。:碧樹西風開源許可協議:BSD-2-Clause項目地址:https://gitee.com/fenglinyushu/dewebsdkDeWeb是一個可以直接將Delphi程序快速轉換為網頁應用的工具!
  • go-admin 開源後臺管理系統
    go-admin是一個go語言開發的後臺管理系統,該系統以角色為基礎的權限管理設計(RBAC),完成了系統管理模塊功能的開發(其他示例模塊後續加上),採用前後端分離實現方式,服務端基於go開源gin框架,前端開源框架vue-element-admin。使用Swagger 2.0自動生成API文檔。
  • IT挑戰高薪必備Go語言常識-Go WEB框架
    Go語言是一門快速成長的語言,專為構建簡單、快速且可靠的軟體而設計,尤其是用Go語言開發WEB服務端軟體,開發效率和程序運行性能都很優秀,真正做到了兼顧開發和運行效率。Go語言提供的net/http庫對於HTTP協議實現的非常好,基於此再構造框架會更容易,因此生態中出現了很多框架。
  • Golang 的Gin異步框架入門種簡單例子
    介紹Gin 是一個用 Go (Golang) 編寫的 HTTP web 框架。 它是一個類似於 martini 但擁有更好性能的 API 框架, 由於 httprouter,速度提高了近 40 倍。如果你需要極好的性能,使用 Gin 吧。
  • Go程式語言也可以用來編寫Web應用?
    Go程式語言也可以用來編寫Web應用? Go語言的語法接近C語言,但是對於變量的聲明是不同的,其他語法不同之處是for循環和if判斷式沒有括號圍繞。Go語言支持垃圾回收功能。
  • GoWeb框架之Gin-簡明教程
    Gin 是使用 Go/golang 語言實現的 HTTP Web 框架。接口簡潔,性能極高。截止 1.4.0 版本,包含測試代碼,僅14K,其中測試代碼 9K 左右,也就是說框架源碼僅 5K 左右。$ find .
  • 基於GO語言實現web客服即時通訊與客服管理系統GO-FLY
    go-fly基於GO語言實現的web客服即時通訊與客服管理系統。非常適合給自己的網站增加在線客服功能,代碼簡單也適合學習。github地址:https://github.com/taoshihan1991/go-fly1.使用gin http框架實現restful風格的API和template包的模板語法進行展示界面2.使用jwt-go配合gin
  • 最近大家都在用 Go 語言玩什麼?這幾個最新的開源項目告訴你
    自 2009 年 11 月正式宣布推出以來,Go 語言憑藉著其簡單、高效、資源佔用低的優勢逐漸在開發者人群中變得熱門起來,優秀的 Go 語言開源項目層出不窮。Gitee 上優秀的開發者們也已經分享了近 400 個得到 Gitee 官方推薦的優質 Go 語言項目,我們為大家挑選出最新的幾個,看看最近大家都在用 Go 語言做些什麼好玩的東西。1.xgenxgen 是 Go 語言編寫的 XSD (XML Schema Definition) 工具基礎庫,可將 XML 模式定義文件編譯為多語言類型或類聲明的代碼。
  • Go語言愛好者周刊:第 62 期—今天的題很細節
    優秀的英文文章,我們的 GCTT 組織會進行翻譯。8、Go 程序性能分析[11]性能分析是排查內存洩露等問題的常見手段,可以讓我們了解和捕獲到程序堆內存和 Profile 信息,方便定位問題。Go 原生提供了豐富的分析工具,下面是通過幾個內存洩露的案例對 Go 程序做性能分析,並介紹相關工具原理和細節。
  • 為什麼我堅持用Go語言做Web應用開發框架?
    【CSDN編者按】很多情況下,企業上線或需要快速迭代一款新的產品,但會發現原有的後端框架已不太適用,甚至影響了開發調試速度,那麼尋找一種新的開發框架和程式語言變得極為迫切。本篇將揭秘用於創建網站和REST API的最流行、最強力和最全面的Go框架。Google的Go語言(又名Golang)已成為編寫網絡服務和API強有力的選擇。
  • 適合 Go 新手學習的開源項目——在 GitHub 學編程
    下面的每一個 Go 語言開源項目都能獨當一面,成為新手的學習項目而且合在一起可以為你提供更為全面的 Go 認知——1 + 1 > 2 。該書將從最基礎的概念講起,同時也會討論一些類似在應用 goroutine 和 channel 時有多少種不同的模式,如何在 Go 語言中使用谷歌 API,如何操作內存,如何在 Go 語言中進行程序測試和如何使用模板來開發 Web 應用這些高級概念和技巧。
  • Beego:簡約 & 強大並存的 Go 應用框架
    Beego框架架構介紹2. Beego框架項目結構3. Beego框架優勢1. Beego框架架構介紹介紹beego框架之前先來了解下Go語言吧。Go 是一個開源的程式語言,它能讓構造簡單、可靠且高效的軟體變得容易。
  • Go 語言極速 web 框架 IRIS V4.1.1 發布 - OSCHINA - 中文開源...
    Go 語言極速 web 框架 IRIS V4.1.1 發布了,更新如下:4.0.0 -> 4.1.1NEW FEATURE: Basic remote control through
  • 盤點十大主流go web框架
    Gin Web FrameworkGin是為速度而生的框架,相比較其它框架,它的速度是最快的,與此同時,它還提供了中間件功能,我們可以輕鬆集成權限驗證,記錄壓縮等功能。Gin框架對於開發api接口非常適合,它提供了豐富的渲染機制,同時也可以作為web後端處理應用。
  • 開發測試加班到深夜,網站還是卡,崩潰,可能是沒選好Web框架
    #閃電的筆記#google發明go語言是因為開發人員維護伺服器崩潰了,難以想像吧,印象中開發界無所不能所向披靡的團隊竟然也有被打敗的時候。所以無論是甲方,還是乙方,了解一下框架還是很有必要的。Ruby on Rails創建者:David Heinemeier Hansson語言: Ruby特點:使用Rails開發應用程式的速度至少比典型的Java框架快十倍。此外,Rails還包括使用Model-View-Controller模式創建資料庫驅動的web應用程式所需的一切。
  • 超讚 Vue 全棧分離管理系統Gin-Vue-Admin
    今天再給大家推薦一款超優秀的前後端分離系統GIN-VUE-ADMIN。語言編寫的Web框架Gin資料庫:MySql(5.6.44)緩存:基於Redis實現多點登錄限制。日誌:基於go-logging實現日誌記錄。
  • Go語言Echo Web框架1-簡單HelloWorld
    使用echo框架有段時間了,就打算把echo的使用總結下。echo借鑑了node.js的express框架,兩者有很多相似的地方。1.go的運行環境,如何設置,此處省略,有興趣的同學可以到go的官網或者go語言中文網,看相關的文檔配置運行環境。目前echo已經到版本4了,建議go的環境1.10以上。
  • 開源 | Umajs:輕量級 Node.js Web 框架
    3.簡介:Umajs 是58同城推出的一款輕量級 node web 框架。我們希望 Umajs 的每一部分,都是優秀的、閃耀的、經受的住各種大型項目檢驗的。項目背景Nodejs 對於前端工程師的重要性不言而喻,它的出現使 JavaScript 成為了最受歡迎的 web 開發語言之一,各類 node web 框架層出不窮,諸如 Express、Koa 等等