Skip to content

後記

如果你真的將語法篇和進階篇都仔細閱讀完了,並且動手敲了代碼,那麼你會認識到 Go 的語法其實並不難,特性也並不多,經驗豐富的人可能幾天就上手了,它完完全全是一門面向工程的語言,這一點你會在以後的編碼中慢慢體會到。倘若你學習完後感到無處施展拳腳,想要更深一步學習,我可以給出下面幾個學習路線和示例項目以供參考。

Web 開發

Web 開發是 Go 語言中一個很常見的應用場景,你可以嘗試以下的幾個開源 Web 框架:

如果你想要進行微服務開發,我推薦下面幾個開源框架:

然後你需要與數據庫交互,我推薦下面幾個開源庫:

你可以參照下面這些項目來進行學習:

IM 通訊

使用 Go 進行 IM 開發,推薦下面這些開源項目:

網絡編程

Go 在網絡編程這塊也有非常多的應用,下面給出一些參考的開源項目:

游戲服務器

在游戲服務器這個領域,有越來越多的企業轉到 Go 這個方向

數據庫開發

數據庫開發需要一定的技術功底,基於 Go 語言的數據庫或引擎同樣也不少,光是閱讀它們的源代碼就需要花費不少時間

命令行工具

Go 非常適合用於命令行 CLI 工具開發,下面推薦幾個命令行開發框架或庫:

  • flag,flag 標准庫
  • cobra,強烈推薦使用 cobra 進行 CLI 開發,有許多著名項目都是基於 cobra,比如 Docker,K8S 等
  • go-pretty,用於在命令行進行美觀的輸出
  • cli,輕量級的命令行框架
  • kingpin,強大靈活的命令行解析庫

由於 cobra 十分常用,基於它進行命令行開發的項目非常多,隨便都可以找到,下面只是一些參考項目:

上面只是列出了比較常見的領域,你可以看到的是 Go 在服務端領域應用較為廣泛,而客戶端則較少,其實 Go 在其他領域也有不少的應用,比如 webrtc,區塊鏈,對象存儲,雲計算等等,感興趣可以在 Github 上自行了解。

最後,如果你想更深入的了解Go語言的實現細節,比如slice map的底層數據結構,協程調度器的實現,GC垃圾回收的過程等等,前往實現原理章節了解更多內容。

Golang學習網由www.golangdev.cn整理維護