吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

詳解GO語言的趨勢與使用情況

Linux愛好者 ? 來源:CSDN技術社區 ? 作者:CSDNnews ? 2021-03-17 11:05 ? 次閱讀

【導讀】Go 語言簡單易學、性能優良。JetBrains Blog 發布了Go 語言的調查報告,看看GO 語言當前趨勢吧!

在當今流行的編程語言中,Go 語言獨樹一幟,因為其簡單易學、性能強勁且原生支持并發的特點,深受開發者的青睞。Go 語言在技術網站 Stack Overflow 上的關注度也在逐年上升:

近日,JetBrains Blog 針對 Go 語言開發者的做了一項調查報告,從報告中我們發現:

全世界有 110 萬專業開發者選擇 Go 作為其主要開發語言,其中中國占比最高;

Go 語言份額持續增長,已成為專業開發者的前 10 大主要語言之一;

Go 語言使用場景中,36% 是 Web 服務,31% 是小型程序的開發;

越來越多的金融行業在接觸 Go 語言,甚至有銀行使用 Go 構建了整個系統。

為什么 Go 語言在中國這么火?

調查結果顯示,在全球范圍內有 110 萬專業開發者選擇 Go 作為其主要開發語言。如果把以其他編程語言作為主要開發語言,同時也在使用 Go 的開發者計算在內,這一數字將高達 270 萬。

就分布情況而言, 來自亞洲的 Go 語言開發者數量最多,大約有 57 萬。

下圖顯示了使用 Go 作為主要語言的開發者所在國家的分布情況,中國的 Go 語言開發者占比最高,占比 16%。

中國之所以排在首位,或是因為中國開發者總數非常多。像 PingCAP、騰訊和華為都有數萬開發者,Go 語言能夠支持并構建與微服務結合的內部工具、架構和后端服務,這一點很關鍵。而俄羅斯的 Go 語言社區也相當出色,Go 在那里深受歡迎是一件很自然的事。

Go 進入編程語言排名前十,占比 7%

自 2009 年推出以來,Go 語言一直在持續增長。根據調查,Go 語言已經成為 2020 年專業開發者的前 10 大主要語言之一,占據來 7% 的份額。

在 JetBrains 《2020 開發者生態系統現狀》報告中顯示,有 16% 的 JavaScript 開發者計劃遷移并轉而采用 Go 語言。反觀在 Go 開發群體中,沒有采用/遷移其他編程語言的用戶高達 59%,穩定性最強。

與 PHP 相比,Go 的優勢在于類型安全,因為 Go 是靜態類型的語言,而 PHP 是動態的。這意味著由編譯器將完成大部分工作,確保編寫的代碼將在運行時能夠正常地編譯和運行。與 C++ 相比,Go 的優勢在于簡單。Go 語言中,一切都很直觀。

Go 還有一個特點,就是在編寫代碼和運行時都具有很高的內置速度,Go 語言可以沒有任何特殊優化的情況下獲得 5-10 倍于平均編程語言的性能提升,這對企業而言是很關鍵的生產力優勢。同時它簡單,易于上手,并且很容易替換現有項目中的微服務。

許多 IT 架構工具由 Go 構建而成,例如大型的 Kubernetes、Docker 和 Vault 等。盡管有許多公司在使用 Java,但這些公司也大都會有一個團隊運行 Go 語言環境,特別是針對項目的修補和維護。

這或許也是 Go 語言在逐步被更多的人所接受的一個原因,在公共基礎架構和部署中使用得越多,Go 的使用增長就越快。

因此,未來幾年還會有越來越多的人開始使用 Go,其比例可能會達到總數的 15-20%。在調查中的“您計劃在今后一年內采用或遷移到其他語言嗎?如果有,是哪些語言?”這個問題里,有 13% 的受訪者回答了 Go。

Go 語言最受歡迎的領域是 Web 服務

調查結果顯示,Web 服務在 Go 語言開發中的占比達到了 36%。對于 Web 服務,首要任務是創建快速的 API 服務器,它們不一定需要框架,而使用 Go 語言可以快速啟動和運行。

在常用 Go 語言的應用領域中,針對第二大應用場景 Utilities(小程序)的開發上,Go 語言有不小的優勢,它能輕松實現處理大量數據的快速應用、小型實用程序應用或需要大量功能的一次性任務。

其次,26% 的開發者表示經常在 IT 架構中使用 Go。采用 Docker 和 K8s 的人越多,使用 Go 的人就越多,因為它們都是用 Go 編寫的。任何類型的 DevOps 工作都可以從 Go 中受益,因為 Go 提供了類型安全和更快的速度。

使用 Go 語言與云服務的進行結合也非常容易——Google、 Amazon 以及 Azure 等都有很好的 SDK。當未來泛型到來之后,“Libraries / Frameworks” 類的份額還會有一定提升。

Go 語言主要被用在 IT 和金融行業

根據調查,使用 Go 語言的開發者主要從事 IT 服務和金融科技,其次是云計算平臺和其它行業。

IT 服務排第一理所應當,而越來越多的金融行業也在接觸 Go 語言。現在已經有相當數量的銀行已經采用或正在使用 Go 語言開發的基礎架構,英國的 Monzo 銀行使用 Go 構建了整個系統。云計算平臺排第三也很合理,因為它們很多應用程序都是以 Go 編寫的。

移動開發排第五是在人意料之外的,要知道 Go 并沒有良好的移動開發的歷史。還有幾個行業的 Go 語言使用率預見在短期內不會出現增長,例如基于機器學習的領域,那是 Python 的強項。Go 語言的機器學習也在朝著更普及、更優良的方向前進,但至少還要再過幾年才能真正看到成果。

Go 語言工具的使用情況

Go 語言開發者最喜愛的軟件包管理器是 Go Modules,調查顯示,其采用率從 2019 年的 41% 上升至 2020 的 82%。在某種程度上,這已經沒有疑問了,因為 Go Modules 已經被設置為標準默認模型,并且 Go 團隊也想棄用 GOPATH,甚至其它的都可能會被淘汰。

自 2018 年以來,Gorilla / Mux 和標準庫始終是最常用的 Go 路由器。標準庫之所以如此受歡迎,可能是因為無論在 Reddit、Slack 還是其他地方,人們通常都會建議堅持使用標準庫,不到萬不得已不會換用其他東西。

Gorilla / Mux 因為在標準庫的基礎上更加抽象,且性能不會受太多影響,它使編寫服務器更容易,也是最接近標準庫的一個。

根據調查,自 2018 年以來,Gin 的使用量幾乎翻了一番,而其他 Web 框架基本保持穩定。Gin 在 Web 上如此受歡迎,可能因為它是一個快速框架,得到了很好的推薦,同時也是最古老的框架之一,所以有很多現成的文檔,很多用戶都在使用和推薦它。

使用內置測試的開發者比例從 2018 年的 64% 下降到 2020 年的 44%,而其他測試框架的使用量略有增長。內置測試占比很高,是因為 Go 標準庫有一個非常好的開箱即用的測試庫,它的下降可能是因為越來越多的人轉移自其他語言,比如 PHP,他們更傾向于重復他們已有的測試習慣。

小結

使用 Go 語言的開發者數量相比 C++ 和 Java 等傳統語言少,有 38% 的開發者了解 Java,19.3% 的開發者了解 C++,僅有 4.6% 的開發者知道 Go。

但 Go 語言的使用者多年來始終在持續增長,Stack Overflow 2020 調查顯示,開發者最希望學習的編程語言里 Go 語言位列前三。Hacker Rank 的調查顯示,Go 連續 3 年榮登開發人員最想要學習的語言第一名。

于此同時,Go 語言開發者的薪資也水漲船高。據職友集統計,中國 Go 語言開發工程師的平均月工資為 21.8k 。從全球范圍來看,Go 語言的開發者的薪酬也是位列前茅,結合其并不高的聲量和使用率,可以說是「悶聲賺大錢」了。
編輯:lyn

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IT
    IT
    +關注

    關注

    2

    文章

    868

    瀏覽量

    63632
  • go語言
    +關注

    關注

    1

    文章

    158

    瀏覽量

    9089

原文標題:揭曉 Go 語言真實現狀!

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux下如何管理虛擬內存 使用虛擬內存時的常見問題

    查看虛擬內存使用情況 : 使用 free 命令可以查看當前的虛擬內存使用情況,包括物理內存、交換空間等的使用情況。 調整交換空間大小 : 如果需要調整交換空間的大小,可以使用 swapoff 命令關閉現有的交換空間,然后使用
    的頭像 發表于 12-04 09:19 ?631次閱讀

    在學習go語言的過程踩過的坑

    作為一個5年的phper,這兩年公司和個人都在順應技術趨勢,新項目慢慢從php轉向了go語言,從2021年到現在,筆者手上也先后開發了兩個go項目。在學習
    的頭像 發表于 11-11 09:22 ?201次閱讀

    LMX2592正常使用情況下溫度大概有多少?

    你好,LMX2592如果將 OUTA_PD = 1;OUTB_PD = 1;為什么芯片還是很燙,正常使用情況下溫度大概有多少,對于溫度的變化可以提供一下參考嗎
    發表于 11-08 08:32

    go語言如何解決并發問題

    作為一個后端開發,日常工作中接觸最多的兩門語言就是PHP和GO了。無可否認,PHP確實是最好的語言(手動狗頭哈哈),寫起來真的很舒爽,沒有任何心智負擔,字符串和整型壓根就不用區分,開發速度真的是比
    的頭像 發表于 10-23 13:38 ?176次閱讀
    <b class='flag-5'>go</b><b class='flag-5'>語言</b>如何解決并發問題

    TMS320C64x在高性能DSP應用中的高速緩存使用情況

    電子發燒友網站提供《TMS320C64x在高性能DSP應用中的高速緩存使用情況.pdf》資料免費下載
    發表于 10-21 09:43 ?0次下載
    TMS320C64x在高性能DSP應用中的高速緩存<b class='flag-5'>使用情況</b>

    國產8位單片機在國內的應用情況及發展趨勢

    分享國產8位單片機的應用情況、市場現狀及其未來發展趨勢。 8位單片機是指其數據總線寬度為8位的微控制器,通常包括中央處理單元(CPU)、存儲器和輸入輸出端口等。國產8位單片機因其簡單的結構和良好的性價比
    發表于 09-26 16:09

    三十分鐘入門基礎Go Java小子版

    前言 Go語言定義 Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發的一種靜態、強類型、編譯型語言
    的頭像 發表于 08-12 14:32 ?786次閱讀
    三十分鐘入門基礎<b class='flag-5'>Go</b> Java小子版

    Banana Pi BPI-M7 RK3588開發板在 Linux 上檢查 Rockchip NPU 使用情況

    如下介紹如何監控 Rockchip 設備的 NPU 使用情況。 如今,新型設備開始配備內置 AI 芯片?!癆I 芯片”的正確技術術語是 NPU,即神經處理單元。 如果您有板載 NPU
    的頭像 發表于 07-11 16:47 ?477次閱讀
    Banana Pi BPI-M7 RK3588開發板在 Linux 上檢查 Rockchip NPU <b class='flag-5'>使用情況</b>

    如何查看TC397內存的使用情況?

    Hi,請問,如何查看 TC397 內存的使用情況?謝謝!
    發表于 05-22 07:50

    可以從下面的圖看出我的工程flash和ram的使用情況嗎?

    芯片是:dspf28335;可以從下面的圖看出我的工程flash和ram的使用情況嗎?感覺flash還可以,ram有點不夠用了,請求大師指點,如何分析?
    發表于 05-11 10:11

    關于go中接口類型的表示方法

    go是一個靜態性語言,每個變量都有靜態的類型,因此每個變量在編譯階段中有明確的變量類型,比如像:int、float32、MyType。
    的頭像 發表于 04-28 10:13 ?410次閱讀

    Go語言中的函數、方法與接口詳解

    Go 沒有類,不過可以為結構體類型定義方法。方法就是一類帶特殊的接收者參數的函數。方法接收者在它自己的參數列表內,位于 func 關鍵字和方法名之間。(非結構體類型也可以定義方法)
    的頭像 發表于 04-23 16:21 ?914次閱讀

    CUBEIDE運行完可以看RAM的使用情況,運行中可以實時查看RAM的使用情況嗎?

    CUBEIDE運行完可以看RAM的使用情況,運行中可以實時查看RAM的使用情況嗎?以及負載情況? 圖片是運行完可以看RAM使用情況,是否可以運行中實時查看?是不是cubemonito
    發表于 03-12 07:56

    rtthread編譯后如何查看堆??臻g使用情況?

    rtthread編譯后如何查看堆??臻g使用情況,現在只能在編譯完成后看到總大小,有沒有辦法能看到詳細的使用情況。 由于RAM只有128K,除去內存池32k,想看看剩余的RAM在哪用了
    發表于 03-05 07:58

    使用rt_thread nano有辦法查看線程的資源占用情況嗎?

    使用rt_thread nano ,有辦法查看線程的資源占用情況麼?
    發表于 02-26 06:05
    巴黎人百家乐的玩法技巧和规则| 悍马百家乐官网的玩法技巧和规则 | 网上的百家乐官网怎么才能赢| 杨公24山日课应验诀| 网络百家乐会作假吗| 百家乐开户最快的平台是哪家 | 舟山星空棋牌下载| 百家乐官网二号博彩正网| 澳门百家乐怎么看小路| 大发888在线娱乐下载| 澳门赌博经历| 百家乐官网l路单| 百家乐出庄概率| 大发888网站是多少| 分宜县| 戒掉百家乐官网的玩法技巧和规则| 百家乐怎么下可以赢| 大发888 客服| 360棋牌大厅| 澳门百家乐文章| 大发888娱乐城刮刮乐| 博盈百家乐官网游戏| 百家乐买隔一数| 德州扑克书| 百家乐官网反缆公式| 百家乐正负计算| 百家乐官网视频连连看| 永利百家乐现金网| 456棋牌游戏| 基础百家乐官网的玩法技巧和规则 | 二八杠小游戏| 太阳城百家乐官网主页| 真人百家乐送钱| 高手百家乐官网赢钱法| 澳门百家乐真人斗地主| 嘉祥县| 澳门百家乐牌例| 黎川县| 豪华百家乐人桌| 百家乐官网视频麻将游戏| 连环百家乐的玩法技巧和规则|