優點:
1.極簡單的部署方式
直接編譯成機器碼、不依賴其他庫、直接運行即可部署;
2.靜態類型語言
編譯的時候檢查出來隱藏的大多數問題;
3.語言層面的並發
天生的基因支持、充分利用多核;
4.強大的標准庫
runtime系統調度機制、高效的GC垃圾回收、豐富的標准庫;
5.簡單易學
25個關鍵字、C語言基因,內嵌C語言支持、面向對象特征(封裝、繼承、多態)、跨平台;
6.大廠領軍
有很多問題對應的解決方案已經被開發出來。
缺點:
1、包管理,大部分都在github上,私人賬戶維護,風險較大;
2、無泛化類型(go 2.0計划加上);
3、所有的exception都用Error來處理;
4、對C的降級處理,並非無縫,沒有C降級到asm那么完美(序列化問題)。
值得注意的是,因為垃圾回收和自動內存分配的原因,Go 語言不適合用來開發對實時性要求很高的軟件。