Go 是一個開源的編程語言,它能讓構造簡單、可靠且高效的軟件變得容易。linux
Go是從2007年底由Robert Griesemer, Rob Pike, Ken Thompson主持開發,後來還加入了Ian Lance Taylor, Russ Cox等人,並最終於2009年11月開源,在2012年早些時候發佈了Go 1穩定版本。如今Go的開發已是徹底開放的,而且擁有一個活躍的社區。golang
可直接編譯成機器碼,不依賴其餘庫,glibc的版本有必定要求,部署就是扔一個文件上去就完成了。shell
靜態類型語言,可是有動態語言的感受,靜態類型的語言就是能夠在編譯的時候檢查出來隱藏的大多數問題,動態語言的感受就是有不少的包可使用,寫起來的效率很高。數據庫
語言層面支持併發,這個就是Go最大的特點,天生的支持併發,我曾經說過一句話,天生的基因和整容是有區別的,你們同樣美麗,可是你喜歡整容的仍是天生基因的美麗呢?Go就是基因裏面支持的併發,能夠充分的利用多核,很容易的使用併發。編程
內置runtime,支持垃圾回收,這屬於動態語言的特性之一吧,雖然目前來講GC不算完美,可是足以應付咱們所能遇到的大多數狀況,特別是Go1.1以後的GC。數組
簡單易學,Go語言的做者都有C的基因,那麼Go天然而然就有了C的基因,那麼Go關鍵字是25個,可是表達能力很強大,幾乎支持大多數你在其餘語言見過的特性:繼承、重載、對象等。安全
豐富的標準庫,Go目前已經內置了大量的庫,特別是網絡庫很是強大,我最愛的也是這部分。服務器
內置強大的工具,Go語言裏面內置了不少工具鏈,最好的應該是gofmt工具,自動化格式化代碼,可以讓團隊review變得如此的簡單,代碼格式如出一轍,想不同都很困難。網絡
跨平臺編譯,若是你寫的Go代碼不包含cgo,那麼就能夠作到window系統編譯linux的應用,如何作到的呢?Go引用了plan9的代碼,這就是不依賴系統的信息。架構
內嵌C支持,前面說了做者是C的做者,因此Go裏面也能夠直接包含c代碼,利用現有的豐富的C庫。
Go 語言被設計成一門應用於搭載 Web 服務器,存儲集羣或相似用途的巨型中央服務器的系統編程語言。
對於高性能分佈式系統領域而言,Go 語言無疑比大多數其它語言有着更高的開發效率。它提供了海量並行的支持,這對於遊戲服務端的開發而言是再好不過了。
名稱 | 簡介 |
---|---|
Docker | Docker是一個開源的應用容器引擎,讓開發者能夠打包他們的應用和依賴包到一個可移植的鏡像中,而後發佈到任何流行的 Linux 、Mac 或 Windows 機器上,也能夠實現虛擬化。容器是徹底使用沙箱機制,相互之間不會有任何接口。 |
Kubernetes | Kubernetes,簡稱 k8s,是用 8 代替 8 個字符 「ubernete」 而成的縮寫。是一個開源的,用於管理雲平臺中多個主機上的容器化的應用,Kubernetes 的目標是讓部署容器化的應用簡單而且高效(powerful),Kubernetes 提供了應用部署、規劃、更新、維護的一種機制。 |
Fedora CoreOS | CoreOS 是一種操做系統,於 2013 年十二月發佈,它的設計旨在關注開源操做系統內核的新興使用 — 用於大量基於雲計算的虛擬服務器。 |
InfluxDB | InfluxDB是一個用於存儲和分析時間序列數據的開源數據庫。是「沒有外部依賴的分佈式時間序列數據庫」。 |
Istio | Istio提供一種簡單的方式來爲已部署的服務創建網絡,該網絡具備負載均衡、服務間認證、監控等功能,而不須要對服務的代碼作任何改動。 |
Traefik | Traefik 是一個爲了讓部署微服務更加便捷而誕生的現代 HTTP 反向代理、負載均衡工具。 它支持多種後臺 (Docker,Swarm,Kubernetes,Marathon,Mesos,Consul,Etcd,Zookeeper,BoltDB, Rest API, file…) 來自動化、動態的應用它的配置文件設置。 |
Hugo | Hugo 是由 Go 語言實現的靜態網站生成器。簡單、易用、高效、易擴展、快速部署。 |
Terraform | HashiCorp — 由 Vagrant(基於 Ruby 的開發環境管理工具)的開發者創辦,它充分利用 Go 的速度和強大來構建更龐大更宏偉的項目:Terraform,該系統用於經過定義文件轉爲代碼在本地或雲端構建 IT 基礎架構 |
CockroachDB | Go 常被用於構建各類分佈式雲原生應用程序。CockroachDB以彈性而聞名,這種分佈式數據庫旨在承受各類各樣的災難(甚至是數據中心故障),而能繼續響應你的 SQL 查詢。 |
Gravitational Teleport | Go 已成爲許多網絡項目以及基於它們的下游項目的默認語言。一個典型的例子是:用 Go 實現的 SSH 自己就頗有用,充當Gravitational Teleport[38]等項目的基礎。Gravitational Teleport 讓用戶能夠經過 shell 安全地訪問服務器。它經過單點登陸來保證安全,但又不須要事務一般須要的那種管理開銷(好比密鑰管理和輪換)。 |
轉載於:
做者:Serdar Yegulalp原文連接:10 open source projects proving the power of Google Go譯者:Go 語言中文網 polaris ,非原文直譯方式
做者:jking10 原文連接:Go語言特色
做者:菜鳥教程 原文連接:Go 語言教程