Go 語言入門練手專案推薦

roseduan發表於2021-07-13

大家好,我是 roseduan,經常看到一些小夥伴學習完 Go 語言的基礎知識之後,無法找到合適的練手專案,然後就很迷茫。

今天我向大家推薦幾個我覺得還不錯的 Go 語言入門練手專案,你可以根據自己的興趣,選擇一個合適的,自己去看看,學習一下。

在這之前,需要說明一下,很多人看到別人的專案程式碼一頭霧水,完全沒有頭緒,這是很正常的。因為別人的專案,可能是經歷很長時間,花了大量時間辛辛苦苦維護的,你千萬別想著花一兩個小時就能完全看懂了,還是要有點耐心的。

當然,如果你是萬中無一的絕世高手,那麼就隨意啦!

1、gin-vue-admin

Github 地址:https://github.com/flipped-aurora/gin-vue-admin
Star 數量:7.6k

gin-vue-admin 是一個使用 gin + vue 進行極速開發的全棧後臺管理系統,後臺使用 gin 框架,gin 是目前很流行的 Go 語言 web 框架,前端主要使用 vue。

專案的目錄結構非常清晰,包名語義化,能夠幫助你快速上手學習。

這個專案還使用到了一些流行的 Go 開源庫及中介軟體,例如:

  • gin:最流行的 Go 語言 web 框架
  • gorm:資料庫操作中介軟體
  • zap:uber 開源的 Go 語言日誌庫
  • redis:k-v 快取

這個專案還有詳細的中文文件,並且配套教學視訊,值得學習!

2、ferry

Github 地址:https://github.com/lanyulei/ferry
Star 數量:3.3k

基於 Gin + Vue + Element UI 前後端分離的工單系統,集工單統計、任務鉤子、許可權管理、靈活配置流程與模版等等於一身的開源工單系統,當然也可以稱之為工作流引擎。

致力於減少跨部門之間的溝通,自動任務的執行,提升工作效率與工作質量,減少不必要的工作量與人為出錯率。

專案當中涉及到的一些其他的中介軟體:

  • casbin:訪問控制工具
  • gorm:資料庫操作中介軟體
  • zap:uber 開源的 Go 語言日誌庫

3、Yearning

Github 地址:https://github.com/cookieY/Yearning
Star 數量:5.2k

Yearning 是一個高顏值 sql 稽核平臺,是真的高顏值,介面設計非常的漂亮,看起來很舒服!

Yearning 擁有多項實用型功能,助力 DBA 提升工作自動化、標準化,主要的功能有:

  • 自動化 SQL 語句稽核,可對 SQL 進行自動檢測並執行
  • DDL/DML 語句執行後自動生成回滾語句
  • 稽核、查詢、審計功能
  • 支援 LDA P登入/釘釘及郵件訊息推送
  • 支援自定義稽核工作流
  • 支援細粒度許可權分配

專案中使用了作者本人自研的 web 框架,還有其他的一些中介軟體:gorm、tidb、grpc。

還有詳細的中文文件。

4、Go-admin

Github 地址:https://github.com/go-admin-team/go-admin
Star 數量:3.9k

這是一個基於 Gin + Vue + Element UI 的前後端分離許可權管理系統,特性如下:

  • 遵循 RESTful API 設計規範
  • 基於 GIN WEB API 框架,提供了豐富的中介軟體支援(使用者認證、跨域、訪問日誌、追蹤ID等)
  • 基於 Casbin 的 RBAC 訪問控制模型
  • JWT 認證
  • 支援 Swagger 文件(基於 swaggo)
  • 基於 GORM 的資料庫儲存,可擴充套件多種型別資料庫
  • 配置檔案簡單的模型對映,快速能夠得到想要的配置
  • 程式碼生成工具
  • 表單構建工具
  • 多命令模式

專案有詳細中文文件和配套視訊教程!

5、wechat-go

Github 地址:https://github.com/songtianyi/wechat-go
Star 數量:1.4k

這是微信 web 版 API 的 Go y語言實現,模擬微信網頁版的登入/聯絡人/訊息收發等功能,可以完全接管微信收到的訊息,並定製自己的傳送內容。

我覺得這個專案還是挺有趣的,用來操作一下微信,能夠體會到更多學習的樂趣。

7days-golang

Github 地址:https://github.com/geektutu/7days-golang
Star 數量:7k

這是一個七天從零用 Go 實現簡易版專案的系列,主要有:

  • Web框架 - Gee
  • 分散式快取 GeeCache
  • ORM框架 GeeORM
  • RPC框架 GeeRPC

雖然說是用七天實現,但是還是有一些難度的,想要挑戰一下自己的同學,可以嘗試學習一下這個專案!

這一期的分享就到這啦,歡迎關注我的公眾號【roseduan寫字的地方】,獲取更多更有趣、更實用的 Go 語言內容哦!

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章