go語言適合程式設計。 go語言本身就是一種靜態強類型、編譯型、並髮型、並具有垃圾回收功能的編程語言,Go語言用途眾多,可以進行網絡編程、系統編程、並發編程、分散式編程,Go語言作為伺服器編程語言,很適合處理日誌、資料打包、虛擬機器處理、檔案系統、分散式系統、資料庫代理程式等系列問題,包括網路程式設計這一塊目前應用最廣,例如,Web應用、API應用、下載應用程式等。
本教學操作環境:windows10系統、go1.20.1版本、Dell G3電腦。
Go語言也稱為 Golang,是由 Google 公司開發的一種靜態強型別、編譯型、並髮型、並具有垃圾回收功能的程式語言。
Go語言(或 Golang)起源於 2007 年,並在 2009 年正式對外發布。 Go是非常年輕的語言,它的主要目標是「兼具 Python 等動態語言的開發速度和 C/C 等編譯型語言的效能與安全性」。
Go語言是程式語言設計的另一個嘗試,是對類C語言的重大改進,它不僅能讓你存取底層作業系統,還提供了強大的網路程式設計和並發程式支援。 Go語言的用途眾多,可以進行網路程式設計、系統程式設計、並發程式設計、分散式程式設計:
伺服器編程,以前你如果使用C或C 做的那些事情,用Go來做很合適,例如處理日誌、資料打包、虛擬機器處理、檔案系統等。
分散式系統、資料庫代理程式、中介軟體等,例如Etcd。
網路編程,這一塊目前應用最廣,包括Web應用、API應用、下載應用,而且Go內建的net/http套件基本上把我們平常用到的網路功能都實現了。
Go語言的推出,旨在不損失應用程式效能的情況下降低程式碼的複雜性,具有「部署簡單、並發性好、語言設計良好、執行效能好」等優勢,目前國內諸多IT 公司均已採用Go語言開發專案。
許多重要的開源專案都是使用Go語言開發的,其中包括 Docker、Go-Ethereum、Thrraform 和 Kubernetes。
go語言
Go 語言自己的早期原始碼使用C語言和組合語言寫成。從 Go 1.5 版本後,完全使用 Go 語言自行編寫。 Go 語言的原始碼對了解 Go 語言的底層調度有極大的參考意義,建議希望對 Go 語言有深入了解的讀者讀一讀。
Kubernetes
Google 公司開發的建置於 Docker 之上的容器排程服務,使用者可以透過 Kubernetes 叢集進行雲端容器叢集管理。
etcd
一款分散式、可靠的 KV 儲存系統,可以快速進行雲端配置。
beego
beego 是一個類似Python的Tornado 框架,採用了RESTFul 的設計思路,使用Go 語言編寫的一個極輕量級、高可伸縮性和高效能的Web 應用框架。
martini
一個快速建立模組化的 Web 應用的 Web 框架。
codis
國產的優秀分散式 Redis 解決方案。
delve
Go語言強大的偵錯器,被許多整合環境和編輯器整合。
Facebook也在用,為此他們還專門在Github上建立了一個開源組織facebookgo,大家可以透過訪問查看facebook開源的項目,比如著名的是平滑升級的grace。
騰訊
騰訊作為國內的大公司,還是敢於嘗試的,尤其是Docker容器化這一塊,他們在15年已經做了docker萬台規模的實踐,具體可以參考
http://www.infoq.com/cn/articles/tencent-millions-scale-docker-application-practice
百度
目前所知的百度的使用是在維運這邊,是百度運維的一個BFE項目,負責前端流量的存取。他們的負責人在2016年有分享,大家可以看下這篇http://www.infoq.com/cn/presentations/application-of-golang-in-baidu-frontend
#其次就是百度的訊息系統。負責公司手百訊息通訊系統伺服器端開發及維護。
京東
京東雲端訊息推送系統、雲端存儲,以及京東商城等都有使用Go做開發。
小米
小米對Golang的支持,莫過於維運監控系統的開源,也就是 http://open-falcon.com/ 。
此外,小米互娛、小米商城、小米影片、小米生態鍊等團隊都在使用Golang。
360
360對Golang的使用也不少,一個是開源的日誌搜尋系統Poseidon,託管在Github上,
還有360的推送團隊也在使用,他們還寫了部落格文章在Golang的官方部落格上。
美團
美團後台流量支撐程式。應用範圍:支撐主站後台流量(排序,推薦,搜尋等),提供負載平衡,cache,容錯,依條件分流,統計運行指標(qps,latency)等功能。
滴滴
基礎服務平台。
金山微看
應用範圍:服務接口,後台流程服務,訊息系統,圖片系統
搜狗
搜狗推送系統。 Push系統中用來維持與客戶端連結的部分。
。 。 。 。 。
寫在最後
當然,一個技術能不能發展起來,關鍵還要看三點。 (以下觀點引自https://www.cnblogs.com/qwangxiao/p/8318894.html)
• 有沒有一個比較好的社群。像是 C、C 、Java、Python 和 JavaScript 的生態圈都是非常豐富且火辣的。尤其是有很多商業機構參與的社群那就更為人氣爆棚了,像是 Linux 的社群。
• 有沒有一個工業化的標準。像 C、C 、Java 都是有標準化組織的。尤其是 Java,其在架構上也搞出了像 J2EE 這樣的企業級標準。
• 有沒有一個或多個殺手級應用程式。 C、C 和Java 的殺手級應用不用多說了,就算是對於PHP 這樣還不能算是一個好的程式語言來說,因為是Linux 時代的第一個殺手級解決方案LAMP 中的關鍵技術,所以,也發展起來了。上述的這三點是非常關鍵的,新的技術只需要占到其中一到兩點就已經很不錯了,何況有的技術,比如Java,是三點全佔到了,所以,Java 的發展是如此好。
當然,除了上面這三點重要的,還有一些其它的影響因素,例如:
學習曲線是否低,上手是否快。這點非常重要,C 在這點上越做越不好了。有沒有一個不錯的提高開發效率的開發框架。如:Java 的 Spring 框架,C 的 STL 等。是否有一個或多個巨型的科技公司作為後盾。如:Java 和 Linux 後面的 IBM、Sun…有沒有解決軟體開發中的痛點。如:Java 解決了 C 和 C 的記憶體管理問題。
用這些標尺來量一下Go 語言,我們可以清楚地看到:
Go 語言容易上手;
Go 語言解決了並發程式設計和寫入底層應用開發效率的痛點;
Go 語言有Google 這個世界一流的科技公司在後面;
Go 語言的殺手級應用是Docker,而Docker 的生態圈在這幾年完全爆棚了。
以上是go語言適合程式設計嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!