Go 語言到底適合幹什麼?

時間 2021-05-08 21:17:37

1樓:吥莧吥散

如果你是乙個搞創造性工作的人,再或你是乙個有稀缺需求但是又對效能執迷的人的話,那麼選擇Go吧,誰學程式設計不都得造幾個輪子嘛,何苦不造的簡單點呢。

2樓:

某些人呢,問的是go,回答的內容卻是在懟人,懟的是那種沒腦子的程式設計師,把自己拉到這個水平懟的很開心,,抓著幾個極品噴,跟他們有什麼區別呢?乙個新手就可以寫出效能不錯的服務,這讓某些自認為資深的程式設計師很生氣!不需要有優化的就可以達到不錯效能的程式在他們看來是失敗的,不能體現他們的牛x之處。

所以就使勁噴。這些人真的很搞笑,做開發是用來完成乙個目的,以最低的成本達成結果是最佳選擇。新手程式設計師用go就可以完成的任務,為什麼非要招一堆老手來幹呢?

乙個老手帶幾個新手就可以開始工作了。這

回答正文…

平心而論go很適合做第二語言,學習起來掌握很快,不需要各種優化就可以達到不錯的效能,基本上只看官方文件就可以開始生產了。乙個前端開發,想寫個後端服務,go很適合你。

一般程式設計師都會有乙個自己伺服器,很低的配置,就放個部落格,然後平時可以做自己的測試服務或者小專案的伺服器,效能有限,用go可以很好的滿足你的小服務需求。

3樓:李賈

一種語言要發展壯大,簡單來說首先需要簡單易學,這樣才眾多的學習者。也才能被實際的專案所採用。例如飛控領域,過去常用ADA語言,但到了開發F35專案的時候,cpp替代了ADA的位置。

是CPP比ADA更適合寫飛控程式嗎?並不,事實很簡單,會ADA的人太少,洛馬招不到足夠的工程師來開發F35飛控這樣的超大規模軟體,不得不選用更大眾的cpp。同樣的事情也發生在lisp和perl上,lisp表達力爆棚,玄而又玄被稱為數學家的語言,但沒有多少人能真正掌握它,clojure在lisp語法上做了許多簡化,又執行在JVM平台上,減少不少編譯部署的難度,稍微親民,但仍是和者寥寥。

perl則是太過龐雜,往往讓學者無所是從,漸漸被更加簡練清爽的語言代替。

其次,要有強大的力量不斷推動語言發展。譬如erlang,首次退出actor模型使高IO併發程式設計變得簡單,但可惜缺乏支援,許多功能模組不完善,進而也難以在工程師大規模被採用。

Go語言的設計理念與erlang一脈相承,用來開發高IO併發的程式非常簡練趁手。同時又有google這個金主大力支援,有足夠的人力,財力為其造輪子,因此大為流行。但是現階段其VM效能與JVM尚有差距,在高CPU消耗的場景下表現不好,因此它主要還是適合存IO並髮型的應用場景,例如容器運維指令碼這種需要同時與成千上萬容器通訊,而對資料處理要求不高的領域。

4樓:

現在看到的是這幾方面:

web 開發:有些浪費

區塊鏈:因為分布式

WASM:前端的新方向

寫系統工具:據說 Google 內部已經把大量 Python 寫的工具遷移成 Go 的了

5樓:澪同學

想從逆向的角度來說一說。

比如乙個簡單的 golang 程式

package

main

import

"fmt"

func

main

()然後 go build -ldflags "-s -w" 先看生成的檔案大小

然後用 IDA 開啟直接就有 544 個函式直接 Search Text 搜尋 Hello World 還沒找到,掃了眼 start,wtf

可以預見到 golang 生成的 binary 應該會大大增加逆向工程師頭髮的脫落速度(逃

6樓:

我不知道是不是我太弱了QAQ,我這邊感覺go要壓榨效能比較難受。。。看著pprof都是一片runtime.scheduler,rumtime.

timerproc,WTF感覺敏感一點是不是還是要換c或者cpp???(乙個非同步TCP長鏈結庫,給同事呼叫)。cli現在8k包一秒只有800MB+流量,時延1ms+????

7樓:

自從用了golang,再也放不下,我來說說吧,問的是適合,那就很多了,適合開發web服務,適合開發遊戲後台,雲計算和容器相關的周邊產品都適合

8樓:

最適合的不好說,看公司在用他來做什麼應該可以說明一些問題用了快兩年go

在上一家公司主要用來做http服務,就是微服務,grpc,rest api那一套

現在用go做區塊鏈相關的東西

據我所知,做雲計算的(paas ,k8s,docker )也在使用go

9樓:「已登出」

本職php,目前主要寫了一些非關鍵的微服務和自動化工具,比如自動部署,靜態資源併發自動化上傳,日誌分析(量不大),還有乙個excel批量提取入庫,主業務花了一些時間用go重構了乙份,掛在測試服在用,目前挺穩定,速度也很快,接下來計畫寫分布式日誌分析。

其實這些都不是go的重點,作為php我的感覺是,go的優勢在於低成本的高併發支援,低成本是相對於php或者其他語言完成相同併發需要的能力,投入或者難度,業務上來的話,某些併發場景我會使用go開啟新的微服務去應對,不過go是真的醜,怎麼也對不齊……對齊也醜……

伏地魔到底想幹什麼?

巡遊人 不請自來。我倒是覺得 跟前面幾位觀點不同 伏地魔未必是有多高的雄心壯志,這點上和格林德沃並不相同。他有個悲慘的童年,有高超的魔法天賦卻有個羞於提及的父親,本是最古老最尊貴的巫師家族後裔,卻因為這個麻瓜老爹,不僅成了孤兒,還被當成怪物。這些都造成了心理的扭曲。鄧布利多的慧眼,為他開啟了魔法殿堂...

有什麼適合 Go 語言初學者的 Starter Project?

有只貓 推薦一下自己初學 go 時候做的一些練習。仿微博專案 Away0x goweibo 使用 gin 搭建的論壇專案 Away0x gin bbs nicholas 乙個禮拜左右寫的部落格,可以試試,大佬勿噴 xgxexexk 當初為了讓PHP能用資料庫連線池,做了乙個基於golang的中間連線...

大資料到底是幹什麼?

因為愛啊 大資料其實就是一種分布式的思想,通過堆疊廉價的機器來提高效能。大資料幹的事情其實就兩件 提供分布式儲存與分布式計算的解決方案。而這些解決方案的落地實現則對應乙個乙個的框架,學習大資料實際上學習的是框架的使用。分布式儲存最直接對應的是Hadoop框架中的核心元件hdfs,以及構建在hdfs上...