1 、GO簡介&環境搭建

1、Go簡介

Go語言起源及其發展:

  1. 2007年,谷歌把Go作爲一個20%項目開始研發,即讓員工抽出本職工作之外時間的20%, 投入在該項目上。
  2. 2009年11月10日,Go語言以開放源代碼的方式向全球發佈。
  3. 2011年3月16日,Go語言的第一個穩定(stable)版本r56發佈。
  4. 2018 年 8 月 25日,Go語言1.11發佈。(目前最新)

核心作者:

  • Thompson:1983年圖靈獎(Turing Award)和1998年美國國家技術獎(National Medal of Technology)得主。他與Dennis Ritchie是Unix的原創者。Thompson也發明了後來衍生出C語言的B程序語言。
  • Pike:曾是貝爾實驗室(Bell Labs)的Unix團隊,和Plan 9操作系統計劃的成員。他與Thompson共事多年,並共創出廣泛使用的UTF-8 字元編碼。
  • Robert Griesemer:曾協助製作Java的HotSpot編譯器,和Chrome瀏覽器的JavaScript引擎V8。

優勢:
被譽爲“21世紀的C語言”的Go語言有着很好的發展前景(但有着面向對象的特性——像混血兒)
特性:自動垃圾回收、豐富的內置類型、支持函數多返回值、錯誤處理機制、匿名函數和閉包支持、支持類型和接口、併發編程(最強特性)、支持反射、語言交互性(可以與C語言混編)、執行速度媲美C/C++等等。
簡而言之,Go語言是一門快速編譯,高效執行,易於開發的系統級編程語言。非常適用於web服務器開發、也很適用於遊戲服務端,區塊鏈系統是分佈式系統——也是Go語言的拿手好戲,是雲計算時代的第一語言。當然了,Go語言開源免費,更是出身於名門望族,來日可期啊!!!

相關網站:
官方網站:golang.org
在GitHub:github.com/golang/go
谷歌郵件列表 golang-nuts
在 Google App Engine 的應用的郵件列表: google-appengine-go
Twitter 的官方帳號:@golang

2、環境搭建

語言包下載:
官網:https://golang.org/dl/
國內:https://golang.google.cn/dl/
語言包分爲三大類:源碼包(Sorce)、免安裝包(Archive)、安裝包(Installer)
根據操作系統的不同自行選擇:Windows、Linux、Mac OS X(Darwin)、FreeBSD
安裝配置:
Linux/Mac OS X/FreeBSD:
下載xxx.tar.gz(Mac OS X也可以是.pkg文件)
解壓至/root/go目錄:
tar -xzf go1.4.linux-amd64.tar.gz -C /usr/local(x:解開一個壓縮檔案的參數指令
-z:是否需要用gzip壓縮?-f:使用檔名,請留意,在 f 之後要立即接檔名不能再加參數!)
(實際上go會默認假定它被安裝到/root/go目錄下,也就是說不需要指定解壓路徑)

通過工具(如vi)編輯文件$Home/.bashrs或$Home/.profile來配置環境變量
環境變量:

export GOROOT=\$HOME/go //安裝路徑
export PATH=\$PATH:\$GOROOT/bin  //編譯器和鏈接器的安裝位置
export GOPATH=\$HOME/project  //工作目錄,可以配置多個

Windows:
可以選擇下載安裝包(.msi),安裝路徑可以自己定義,筆者自己自定義路徑後(go—1.11版本)GOOROOT和PATH變量會自動配置,自己只需要配置GOPATH路徑。(在系統——高級系統設置——環境變量下設置)

目錄簡介:
安裝目錄下:
api——go語言api的特性說明
bin——包含go語言編譯器、go格式化工具以及go文檔工具
doc——包含示例程序、代碼工具、本地文檔等
lib——文檔模板
misc——相關配置文件及cgo示例
pkg——相關包文件
src——go語言源碼
工作目錄下:
bin——放編譯後的可執行文件
pkg——放編譯後的文件
src——放源文件
(一般,bin和pkg目錄可以不創建,go命令會自動創建(如 go install),只需要創建src目錄即可)

常見集成開發環境:

  • Sublime text
  • Intype
  • LiteIDE
  • Eclipse
  • Zeus
  • Goland

Helloworld(windows):
在工作目錄的src目錄下創建項目(如demo文件夾)並創建一個hello.go的文件編輯代碼:

package main
import  "fmt"
func main(){    
 fmt.Println("hello,world!")
}

在hello.go文件目錄下打開命令行輸入:go run hello.go,可以看到打印出:hello,world!

Go語言幾大命令:
go build:
主要用於測試編譯。此命令會編譯當前目錄下的含有main函數的main文件,其他一概忽略,無參數時以父目錄爲名生成exe文件,加上文件名如go build hello.go則生成hello.exe文件。若存在a_linux.go與a_windows.go,在Windows操作系統上自動忽略前者。
go install:
與go install的區別在於:與build命令相比,install命令在編譯源碼後還會將可執行文件或庫文件安裝到約定的目錄,如果是首次,則自動創建相應目錄。編譯後的可執行文件放在bin目錄下,依賴包放在pkg/$GOOS_$GOARCH目錄下。
go get:
藉助代碼管理工具通過遠程拉取或更新代碼包及其依賴包,並自動完成編譯和安裝,如同安裝app。
go get github.com/xxxxxx/xxxxx = git clone <版本庫網址> <本地儲存目錄>+go install
go run:
編譯並運行程序,只會產生臨時文件。
gofmt:
格式化代碼,大部分IDE都會在編譯前調用這個命令。
godoc:
文檔查看,如查看fmt包:godoc fmt。獲取文檔註釋:go doc packagename。也可以在本地建立一個官網複製版網站:godoc -http=:8080,在瀏覽器中打開127.0.0.1:8080即可。
go env:
查看環境變量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章