go語言的缺點:1、技術路線選擇導致的“性能劣勢”,go屬于GC類編程語言,在一些性能超級敏感的場合,選擇Go依然要慎重。2、表達方法單一”、顯式的錯誤處理有點“過時”。3、最小版本選擇MVS,背離主流。4、Go核心團隊對語言演化的把控力十足,不是社區多數人贊同的就一定會被采納而加入Go語言,導致在社區上有劣勢,Go社區與Go核心團隊有“裂痕”。5、功能孱弱。

本教程操作環境:windows7系統、GO 1.18版本、Dell G3電腦。
每種編程語言都有自己的優勢和劣勢,Go也不例外,下面我們就來列舉一下Go的那些“優勢”和“劣勢”:
Go優勢
1、簡單易學
Go語言語法簡單,其中包含了類似C語言的語法。如果讀者已經掌握了兩到三門編程語言,那么學習Go語言只需要幾天的時間。即使是一名剛入門的開發者,花幾個星期也能寫出性能較高的Go語言程序。
2、自由高效
Go語言的編譯速度明顯優于 Java 和 C++,還擁有接近C語言的運行效率以及接近 PHP 的開發效率,可以說Go語言將運行效率和開發效率進行了完美的融合。
同時,Go語言還支持當前所有的編程范式,包括過程式編程、面向對象編程、面向接口編程、函數式編程。開發者們可根據需求自由組合。
3、強大的標準庫
Go里面的標準庫非常穩定并且豐富多樣,包括網絡、系統、加密、編碼、圖形等各個方面。尤其是網絡和系統的庫非常實用,使得開發者在開發大型程序時,幾乎無須依賴第三方庫。
4、部署方便
不需要使用虛擬機,Go語言的代碼可以直接輸出為二進制可執行文件。而且Go語言擁有自己的鏈接器,不依賴任何系統提供的編譯器和鏈接器。因此編譯出的二進制可執行文件幾乎可以運行在任何系統環境中。
5、原生支持并發
Go語言是一種非常高效的語言,從語言層原生支持并發,使用起來非常簡單。Go語言的并發是基于 Goroutine 的,Goroutine 類似于線程,但并非線程,是Go語言面向線程的輕量級方法。創建 Goroutine 的成本很低,只需幾千個字節的額外內存。
通常一臺普通的桌面主機運行上百個線程就會負載過大,而同樣的主機卻可以運行上千甚至上萬個 Goroutine。Goroutine 之間可以通過 channel 實現通信。Goroutine 以及基于 channel 的并發性方法可最大限度地使用 CPU 資源。
6、穩定性強
Go語言擁有強大的編譯檢查、嚴格的編碼規范和很強的穩定性,此外Go語言還提供了軟件生命周期(如開發、測試、部署、維護等)的各個環節的工具,例如:go tool、go fmt、go test 等。
7、垃圾回收
在使用Go語言進行開發時,在內存方面開發者只需要關注內存的申請即可,并不需要關系內存的釋放,因為Go語言內置了 runtime 來自動進行管理。雖然目前來說 GC(Garbage Collection,垃圾回收機制)不算完美,但是足以應付開發時遇到的大多數情況,使開發者可以將
站長資訊網