GO 語言

Go語言也稱為 Golang,是由 Google 公司開發(fā)的一種靜態(tài)強類型、編譯型、并發(fā)型、并具有垃圾回收功能的編程語言。

Go 語言語法與 C 相近,但功能上有:內(nèi)存安全,GC(垃圾回收),結(jié)構(gòu)形態(tài)及 CSP-style 并發(fā)計算。

不同于Java,Go內(nèi)嵌了關(guān)聯(lián)數(shù)組(也稱為哈希表(Hashes)或字典(Dictionaries)),就像字符串類型一樣。

Go語言正是在多核和網(wǎng)絡(luò)化的時代背景下誕生的原生支持并發(fā)的編程語言。Go語言從底層原生支持并發(fā),無須第三方庫,開發(fā)人員可以很輕松地在編寫程序時決定怎么使用 CPU 資源。

Go 語言特色

  • 簡潔、快速、安全

  • 并行、有趣、開源

  • 內(nèi)存管理、數(shù)組安全、編譯迅速

Go 語言用途

  • Go 語言被設(shè)計成一門應(yīng)用于搭載 Web 服務(wù)器,存儲集群或類似用途的巨型中央服務(wù)器的系統(tǒng)編程語言。
  • 對于高性能分布式系統(tǒng)領(lǐng)域而言,Go 語言無疑比大多數(shù)其它語言有著更高的開發(fā)效率。它提供了海量并行的支持,這對于游戲服務(wù)端的開發(fā)而言是再好不過了。

Go環(huán)境的搭建

比較重要的設(shè)置項

  • GOROOT:GO安裝的根目錄。

  • GOPATH:用來設(shè)置工作目錄,即編寫代碼的地方。包也都是從GOPATH設(shè)置的路徑中尋找。

  • GO111MODULE:Go語言提供了 GO111MODULE 這個環(huán)境變量來作為 Go modules 的開關(guān),其允許設(shè)置以下參數(shù):

? auto:默認值,go命令行將會根據(jù)當(dāng)前目錄來決定是否啟用module功能。這種情況下可以分為兩種情形:

? 1) :當(dāng)前目錄在GOPATH/src之外且該目錄包含go.mod文件

? 2): 當(dāng)前文件在包含go.mod文件的目錄下面

? on:啟用 Go modules,推薦設(shè)置,將會是未來版本中的默認值。

? off:禁用 Go modules,不推薦設(shè)置。

? 命令:go env -w GO111MODULE=auto

  • go mod:包管理工具,Go1.11版本之后無需手動配置環(huán)境變量,使用 go mod 管理項目,也不需要非得把項目放到 GOPATH
    指定目錄下,你可以在你磁盤的任何位置新建一個項目。

? 命令:go mod init 項目名稱

  • go get:go get 命令可以借助代碼管理工具通過遠程拉取或更新代碼包及其依賴包,并自動完成編譯和安裝。