Go語言入門【二】:為什麼要使用Go語言

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
go吉祥物

Go語言是google推出的新興後端開發語言,我認識的人裡,用了都說好。經過前段時間的學習,做個總結。

Go語言的主要優勢

工程化
  • 強制代碼風格,通過gofmt工具,方便團隊協作。
  • 依賴管理的語言層級支援(GOPATH),類似於在Java中使用了maven,Gradle工具。
  • 容器技術docker用go編寫,go語言在容器應用上有很大的親和力,譬如通過交叉編譯可以只打包可執行程式,極大減小容器的體積。由於這一點很大程度上屬於docker的優勢,算半條。
  • 交叉編譯為目標OS的可執行代碼十分方便,對製作命令列小工提高效率。
  • 開源生態足夠豐富,湧現大量的優秀項目和第三方組件。參考:https://github.com/avelino/awesome-go
語言本身
  • goroutine給並發編程帶來了效能和開發速度的極大提升,不再需要複雜的多線程代碼。
  • 介面的非侵入性。go的介面重於功能而非血統,取消了implements關鍵字,貫徹了鄧小平理論『只要能抓老鼠就是好貓』。
  • 強制使用utf-8編碼,亂碼問題減少
  • 關鍵字少,取消分號,文法簡潔。
  • go內建的包滿足了大部分後端開發的需要,這屬於『後發優勢』。舉例如log內建包就很足夠,而Java中不引入log4j則很難靈活日誌。又比如發送http請求,只需要使用net/http包就夠用,Java中需要引入apache-httpclient。

當前Go語言的一些問題:

  • IDE生態不夠豐富,目前使用下來體驗最好的是IntelliJ IDEA安裝golang-plugin配合delve做debug。然而debug體驗略有欠缺,比如不能逐行跟蹤。參考https://github.com/go-lang-plugin-org/go-lang-idea-plugin
  • 版本還在激烈的迭代,未來可能會有重大更新,不夠穩定。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.