Go被稱為”21世紀(jì)的C語言“。
它和C語言很像,但比C語言更容易理解,比較容易上手。在開發(fā)Web系統(tǒng)的時候,Go有著及其出色的性能表現(xiàn),因此Go也是近兩年來比較熱門的一種計算機語言了。
對于想要學(xué)習(xí)Go語言的朋友,在此分享幾個Github上不錯的開源項目。
1. hugo
- url: HTTPS://github.com/gohugoio/hugo
- star: 63000
- fork: 6900
- watch: 1100
基于 Go 的靜態(tài)網(wǎng)站生成器。靜態(tài)網(wǎng)站生成器的原理是在本地生成靜態(tài)網(wǎng)頁(HTML CSS),然后上傳到服務(wù)器。
這個工具可以幫助您輕松快速地發(fā)布網(wǎng)站,用戶可以專注于內(nèi)容創(chuàng)建,選擇喜歡的主題即可。
Hugo 是最受歡迎的靜態(tài)網(wǎng)站生成器之一,它有豐富的插件和主題。即使沒有豐富的編程基礎(chǔ),也能快速制作出令人滿意的博客或網(wǎng)站。
2. syncthing
- url: https://github.com/syncthing/syncthing
- star: 47000
- fork: 3600
- watch: 988
一個采用 Go 編寫的免費跨平臺的文件同步工具。無需安裝,下載相應(yīng)系統(tǒng)的壓縮包即可直接運行使用。
操作模式有命令行、Web 和互聯(lián)網(wǎng)等,可用于構(gòu)建私有網(wǎng)盤,或者作為內(nèi)網(wǎng)共享文件的解決方案。
3. caddy
- url: https://github.com/caddyserver/caddy
- star: 44000
- fork: 3400
- watch: 800
用 Go 編寫的輕量級 Web 服務(wù)器。
相較于 Apache、Nginx 等知名 Web 服務(wù)器,其獨特之處在于提供了編譯好的可執(zhí)行文件,實現(xiàn)真正的開箱即用。
無需任何配置就可以免費擁有 HTTPS、自動把 Markdown 文件轉(zhuǎn)化成 HTML 等等,是搭建中小型Web服務(wù)的省時省心之選。
4. gogs
- url: https://github.com/gogs/gogs
- star: 41000
- fork: 4700
- watch: 1000
基于 Go 的一個快速上手的自助服務(wù) Git 服務(wù)工具,支持所有平臺,類似 GitLab 同樣的服務(wù)。
GitLab 是基于 ruby 語言,本項目基于 Go。
項目有完善的中文文檔,只要支持 Go 語言的平臺都適用,包括 Linux、Mac OS X、Windows 以及 ARM 平臺。
5. minio
- url: https://github.com/minio/minio
- star: 36000
- fork: 4300
- watch: 605
基于 Go 的開源對象存儲服務(wù)。支持圖片、視頻、日志等文件的存儲,Web 管理后臺操作方便。
雖然是輕量級應(yīng)用,但性能極好,同時采用 RS code 算法,即使丟失一半硬盤,編碼算法仍然可以檢索和找回數(shù)據(jù)。適用于大數(shù)據(jù)、機器學(xué)習(xí)等場景。
- 高性能:單個文件最大支持 5T,最高的讀寫速度可以達到 55Gb/s 和 35Gb/s;
- 可擴展性:可以組合不同的集群,支持跨越多個數(shù)據(jù)中心;
- 云原生:基于容器支持 K8S 安排,多租戶;
- 對接各種后端存儲:支持 S3、DAS、 NAS、Google 等云存儲。
6. echo
- url: https://github.com/labstack/echo
- star: 24000
- fork: 2100
- watch: 528
Go 最受歡迎的 Web 框架之一,具有高性能、易擴展、重量輕的特點,示例代碼:
package mainimport "github.com/labstack/echo"func main() { e := echo.New() e.GET("/", callback) e.Logger.Fatal(e.Start(":3000"))}func callback(ctx echo.Context) error { return ctx.HTML(200, "<h1>你好 echo</h1>")}
7. mattermost-server
- url: https://github.com/mattermost/mattermost-server
- star: 24000
- fork: 5800
- watch: 549
采用 Go 開發(fā)的團隊通信服務(wù)項目,可用于自建服務(wù)。
為團隊帶來跨越 PC 與移動設(shè)備的通信服務(wù)平臺,輕松實現(xiàn)信息收發(fā)、文件共享、搜索等功能。
8. vegeta
- url: https://github.com/tsenart/vegeta
- star: 20000
- fork: 1300
- watch: 319
基于 Go 語言的 HTTP 壓測工具。目前市面上有很多壓力測試工具,但是本項目有著令人驚艷的命令執(zhí)行效果(vegeta jaggr jplot)。
echo 'GET http://localhost:8080' | vegeta attack -rate 5000 -duration 10m | vegeta encode | jaggr @count=rps hist[100,200,300,400,500]:code p25,p50,p95:latency sum:bytes_in sum:bytes_out | jplot rps code.hist.100 code.hist.200 code.hist.300 code.hist.400 code.hist.500 latency.p95 latency.p50 latency.p25 bytes_in.sum bytes_out.sum
感謝你看到這里,希望以上信息對你有所幫助。
離開之前,記得點贊哦~
推薦閱讀
我也推薦過一些其他語言的項目,都是非常實用的、被廣泛認可的項目,有需要的可以點擊下方卡片獲?。?/span>
推薦GitHub上8個有意思的項目 包含Python JS等不同語言 建議收藏
IT大佬推薦 ! 20個必備的Python庫 讓你的資源從此用不完 建議收藏
結(jié)束語
我是 @老K玩代碼,專注于編程開發(fā)的經(jīng)驗總結(jié)和項目分享,對編程有興趣、正在學(xué)習(xí)編程的同學(xué)可以關(guān)注我。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。