進入golang的開發已經差很少兩年了,最近打算寫個Golang的教程。目的是讓有開發基礎,沒接觸過Golang的人可以愉快高效地寫出Golang項目。golang
記得17年末時候,有個特別小的項目,準備試試用Golang來寫,哪段時間也不太忙,項目也比較小,還用Lua寫了一遍做爲兜底方案。其實對一個寫過幾年代碼的人來講,查查Go的文檔,寫一個Go的項目並非多難的事,使用Golang寫這個項目並無花費多大的事,應該在兩週左右。當時是第一次寫因爲不知道一些公用第三方的庫,有些功能上就顯得很是費勁。好比,我想記日誌,後來都是經過Golang寫的文件,不知道有個特別好用而且高效的 uber-go/zap的日誌庫。測試環境調試的時候每次都是go build以後在運行build生成的二進制可執行文件,不知道有熱加載工具 gin。放到生產環境以後,不知道有supervisor這樣的進程管理軟件監控 go的可執行文件。而後也不知道使用Nginx代理到 go程序的端口上,Redis鏈接數據庫鏈接不知道使用鏈接池,等等。特別多的這種流程和軟件使用上的問題,最終,這個項目使用兜底方案lua的版本。因此最近有了寫個使用教程的打算,給新的寫golang的童靴有個參考。數據庫
這個教程計劃是不會花時間介紹Golang的語法和基礎,市面上隨便一個教程都有,搜索引擎也很容易查到。主要仍是想介紹Golang開發所使用的工具,所依賴的軟件,還有項目開發中所使用的第三方的類庫。讓剛進入golang開發的人知道有XXX軟件使用解決什麼問題,該怎麼使用軟件,怎麼使用類庫,怎麼部署golang項目,提升開發效率。第三方好用的軟件和類庫的推薦和使用。主要是這個方向。工具