大家好,我是 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 語言實現,模擬微信網頁版的登入/聯絡人/訊息收發等功能,可以完全接管微信收到的訊息,並定製自己的傳送內容。
我覺得這個專案還是挺有趣的,用來操作一下微信,能夠體會到更多學習的樂趣。
7days-golang
Github 地址:https://github.com/geektutu/7days-golang
Star 數量:7k
這是一個七天從零用 Go 實現簡易版專案的系列,主要有:
- Web框架 - Gee
- 分散式快取 GeeCache
- ORM框架 GeeORM
- RPC框架 GeeRPC
雖然說是用七天實現,但是還是有一些難度的,想要挑戰一下自己的同學,可以嘗試學習一下這個專案!
這一期的分享就到這啦,歡迎關注我的公眾號【roseduan寫字的地方】,獲取更多更有趣、更實用的 Go 語言內容哦!
本作品採用《CC 協議》,轉載必須註明作者和本文連結