首頁>Club>
62
回覆列表
  • 1 # 碼農一隻

    對於這門語言,本人還是看好的。本人就職於某網際網路企業,日常最主要的開發語言就是Go。對於Go語言的認識,筆者想從優點和缺點分別說說。

    首先是優點。

    (1)Go語言的語法十分簡單,他沒有什麼特別複雜的東西,短小精幹。比起C++,Java等語言,Go要容易上手的多。

    (2)Go適用於大併發開發,其原因在於這門語言本身十分容易編寫併發程式碼。Go語言暴露給程式設計師的主要特性是他的協程,goroutine。Goroutine由GoRuntime負責建立,銷燬以及排程,佔用資源以及上下文的切換開銷相當小。在編寫方面,僅僅一個go關鍵字就能輕鬆開啟一個協程。

    (3)Go語言的執行速度快。作為一門編譯型靜態語言,在執行效能方面,它有著出色的表現。

    (4)Go語言的資源佔用相當小。筆者寫的Go服務資源佔用率長期保持在個位數。主要得益於Goroutine對資源的佔用極小。

    (5)垃圾回收機制。Go語言有自己的一套垃圾回收機制,程式設計師並不需要自己手動GC,關心好自己的業務邏輯就好。

    (6)go module。Go可以將所依賴的包透過vendor裝進專案程式碼裡,這樣在其他地方部署時,僅需要clone專案程式碼本身即可,不需要再去拉取依賴包。

    總結下優點,主要就是,簡單,高效以及高效能。

    再說說缺點。

    (1)依賴管理,這也是筆者最為詬病的一點。依賴管理強依賴於github。github上的改變會影響到專案程式碼。比起maven的中央倉庫,github相對更難以維護。

    (2)浮點數精度問題。Go本身沒有decimal型別,浮點數float型別容易發生精度丟失。對於計算精確度要求很高的場景並不適用。

    總結起來,Go既有優點也有缺點。在如今網際網路行業迭代快速的情況下,Go語言能夠讓開發更加高效。在效能方面,也有接近C++的表現。所以筆者對於這門語言還是較為看好的。

  • 中秋節和大豐收的關聯?
  • 博世電動工具和世達電動工具哪個好?