Go語言快速入門圖文教程
推薦閱讀:
go語言最新版激活教程可以點(diǎn)下這個鏈接查看。
goland永久安裝教程,點(diǎn)擊此處查看。
Go 這幾年很火,小哈也蹭業(yè)余時間悄咪咪學(xué)習(xí)一下(我大 Java 依舊無敵😤),雖然暫時公司技術(shù)棧用不到,但保不準(zhǔn)后面有新項目選型 Go, 到時候就能直接干活了。
技術(shù)儲備還是要有的,我們要偷偷努力,然后驚艷所有人,哈哈~ 廢話不多說,開干!
一、什么是 Go 語言?
Go(又稱Golang)是 Goolge 開發(fā)的一種靜態(tài)型、編譯型、并發(fā)型,并具有垃圾回收功能的語言。
羅伯特·格瑞史莫,羅勃·派克(Rob Pike)及肯·湯普遜于2007年9月開始設(shè)計了Go語言,設(shè)計初衷是為了提高在多核、網(wǎng)絡(luò)機(jī)器(networked machines)、大型代碼庫(codebases)的情況下的開發(fā)效率。當(dāng)時在Google,設(shè)計師們想要去除主流編程語言中目前存在的缺點(diǎn),只吸取它們的優(yōu)點(diǎn)用于 Go 語言之中。
Go于2009年11月正式開源,同時支持 Linux、MacOS、Windows 等操作系統(tǒng)。
2016年,Go語言被 TIOBE 評為 "年度最佳語言"。
二、Go 語言特性
- Go 語言上手非常容易,它的風(fēng)格類似于 C 語言,但是其語法在 C 語言的基礎(chǔ)上做了大幅度簡化,如去掉了冗余的表達(dá)式括號,循環(huán)遍歷也只有
for
一種寫法等; - 工程結(jié)構(gòu)簡單;
- 代碼可讀性和易用性高;
- 編譯速度快,由于其語法簡單、工程結(jié)構(gòu)設(shè)計嚴(yán)謹(jǐn)、沒有頭文件、無包交叉依賴等特點(diǎn),很大程度上節(jié)約了編譯所需耗時。
- 高性能,原生支持并發(fā)。Go 語言的并發(fā)基于
goroutine
, 它類似于線程,但并非線程。Go 語言運(yùn)行時,會參與調(diào)度goroutine
, 并將goroutine
合理的分配到每個 CPU 中,從而最大程度的保證 CPU 的使用率。 - 豐富強(qiáng)大的標(biāo)準(zhǔn)庫,其中包括網(wǎng)絡(luò)、圖形、系統(tǒng)、加密、編碼等各個方面。
三、Go 語言有多火 ?
Go 語言號稱是互聯(lián)網(wǎng)時代的 C 語言,那么它到底有多火呢?
1.絕大多數(shù)的云原生項目都是用 Go 語言編寫的,比如:
- Docker: 容器化技術(shù);
- Kubernetes: 構(gòu)建于 Docker 之上的容器調(diào)度服務(wù);
- etcd: 一款分布式、可靠的 KV 存儲系統(tǒng);
- Istio: 一個與 Kubernetes 緊密結(jié)合的適用于云原生場景的 Service Mesh 形態(tài)的用于服務(wù)治理的開放平臺;
- Prometheus: 一個開源的服務(wù)監(jiān)控系統(tǒng)和時間序列數(shù)據(jù)庫;
- ...
2.Go 語言將會成為云計算時代的基礎(chǔ)設(shè)施編程語言,比如區(qū)塊鏈明星項目 Hyperledger、NewSQL , 明星項目 TiDB 也是基于 Go 語言的;
3.Go 語言已經(jīng)成為下一個企業(yè)級編程語言,包括字節(jié)跳動、滴滴、騰訊、阿里巴巴在內(nèi)的一線互聯(lián)網(wǎng)公司都在使用。
四、下載 Go 安裝包
想要學(xué)習(xí) Go 語言, 首先得下載 Go 語言安裝包??梢郧巴缦聝蓚€網(wǎng)站下載:
Golang 中國: https://golang.google.cn/dl/
Go 語言官網(wǎng): https://golang.org/dl/
提示: Go 語言官網(wǎng)需要科學(xué)上網(wǎng)才能訪問,推薦到第一個鏈接進(jìn)行下載。
訪問成功后,如下圖,根據(jù)自己的系統(tǒng),選擇對應(yīng)的 Go 語言安裝包,點(diǎn)擊下載即可。
下載好對應(yīng)系統(tǒng)安裝包后,可參見后續(xù)章節(jié)的安裝說明:
若你選擇從源碼構(gòu)建,可參考 官方構(gòu)建文檔。
另外,Go 語言歷史版本,請參見: http://docs.studygolang.com/doc/devel/release.html
相關(guān)說明
文件名 | 說明 |
---|---|
go1.15.3.windows-amd64.msi | Windows 平臺安裝包 |
go1.15.3.linux-amd64.tar.gz | Linux 平臺安裝包 |
go1.15.3.darwin-amd64.pkg | MaxOS 平臺安裝包 |
go1.15.3.src.tar.gz | Go 語言源碼包,作研究用,日常開發(fā)不推薦下載 |
五、安裝 Go 語言環(huán)境
Windows 安裝 Go
本小節(jié),小哈將演示如何在 Windows 系統(tǒng)上安裝 Go 語言環(huán)境。
PS: 關(guān)于安裝包名稱,你需要了解的:
1.15.4 表示的是當(dāng)前 Go 安裝包的版本號;
windows 表示這是 Windows 系統(tǒng)的安裝包;
amd64 表示匹配 64 位的 CPU;
下載完成后,雙擊安裝包開始安裝:
點(diǎn)擊 Next
:
這里 Go 開發(fā)包的默認(rèn)安裝路徑為 C:\Go\
, 推薦使用這個默認(rèn)路徑。
安裝完成后,我們可以到 C:\Go\
目錄下,看看目錄結(jié)構(gòu):
Go 安裝目錄說明
目錄名 | 說明 |
---|---|
api | 各個版本 api 變更差異 |
bin | go 源碼包編譯出來的編譯器、格式化工具、文檔工具等 |
doc | 英文版的 Go 文檔 |
lib | 依賴的一些庫文件 |
misc | 其他用途的相關(guān)文件,如 Android 平臺的編譯等 |
pkg | Windows 平臺編譯好的中間文件 |
src | 標(biāo)準(zhǔn)庫源碼 |
test | 測試用例 |
檢查 Windows 系統(tǒng) Go 環(huán)境是否安裝成功
打開 cmd
窗口,執(zhí)行命令:
go version
若正確輸出 Go 語言的版本號,表示安裝成功:
Linux 安裝 Go
這里,小哈以自己購買的云服務(wù)器 CentOS 7 做演示。
下載完成后,將壓縮包上傳到指定目錄下,執(zhí)行如下命令,將壓縮包解壓到 /usr/local/go
下:
tar -C /usr/local -xzf go1.15.4.linux-amd64.tar.gz
解壓完成后,通過 vi 編輯器打開 profile 文件:
vi /etc/profile
在 profile
文件中添加下面這行,目的是將 /usr/local/go/bin
目錄添加到 PATH
環(huán)境變量中去:
export PATH=$PATH:/usr/local/go/bin
然后執(zhí)行如下命令,讓新添加的環(huán)境變量生效:
source /etc/profile
完成后,執(zhí)行如下命令,檢查 Go 語言是否安裝成功:
go version
若正確輸出 Go 語言版本號,則表示安裝成功。
Mac 安裝 Go
Mac 系統(tǒng)有下面兩種安裝方式。
通過 brew 安裝
執(zhí)行如下命令:
brew install go
或者
brew install golang
另外,也可以先通過 brew info go
查看一下版本信息。
官網(wǎng)下載 Go 語言 pkg 包來安裝
下載完成后,雙擊開始安裝:
點(diǎn)擊繼續(xù)
,等待Go安裝完成。
配置Go語言環(huán)境變量
默認(rèn)會將Go安裝到 /usr/local/go
路徑下,接下來,開始配置Go語言環(huán)境變量。
1、編輯 .bash_profile
文件:
vim ~/.bash_profile
2、添加 /usr/local/go
目錄到 PATH
環(huán)境變量中:
# Go環(huán)境變量 export PATH=$PATH:/usr/local/go/bin
3、執(zhí)行如下命令,使環(huán)境變量生效:
source ~/.bash_profile
驗(yàn)證結(jié)果
通過如下命令,來驗(yàn)證 Go 語言環(huán)境是否安裝成功:
go version
若正確輸出 Go 語言的版本號,則表示成功。
六、寫個 Hello World 程序
通常來說,入門任何一門語言,編寫的第一個程序都是用該語言向世界打聲招呼: Hello World !
開始
接下來,我們來編寫第一個 Go 語言程序,新建一個 helloworld.go
文件,代碼如下:
提示: Go 語言源文件的拓展名以 .go
結(jié)尾。
package main import "fmt" func main() { fmt.Println("Hello World !") }
上面代碼的意思是在控制臺打印字符串:Hello World !
執(zhí)行 Go 程序
我們有兩種方式來執(zhí)行上面這個程序。
第一種方式
通過 go run
命令來執(zhí)行剛剛的代碼, 執(zhí)行命令如下:
go run helloworld.go
效果圖如下:
第二種方式
還可以通過執(zhí)行 go build
命令,將剛剛這段代碼編譯成可執(zhí)行文件:
go build helloworld.go
編譯完成后,可以在目錄下看到一個 helloworld
可執(zhí)行文件,通過 ./helloworld
命令來執(zhí)行它,即可輸出 Hello World !
七、結(jié)語
本文中小哈主要講了如何快速入門 Go 語言,起到一個拋磚引玉的作用,如果本文能夠?qū)π』锇閭冇杏?,希望小伙伴們?nèi)B一波!
以上就是Go語言快速入門圖文教程的詳細(xì)內(nèi)容,更多關(guān)于Go語言入門教程的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
golang elasticsearch Client的使用詳解
這篇文章主要介紹了golang elasticsearch Client的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05Golang中HTTP服務(wù)的分析與設(shè)計詳解
這篇文章主要介紹了Golang中HTTP服務(wù)的分析與設(shè)計,HTTP服務(wù)是實(shí)現(xiàn)Web應(yīng)用程序的重要組成部分,為了實(shí)現(xiàn)高效可擴(kuò)展的Web應(yīng)用程序,需要對HTTP服務(wù)進(jìn)行分析與設(shè)計,需要的朋友可以參考下2023-05-05gin自定義中間件解決requestBody不可重讀(請求體取值)
這篇文章主要介紹了gin自定義中間件解決requestBody不可重讀,確??刂破髂軌颢@取請求體值,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10讓GPT教你用go語言和C語言開發(fā)IDE配置學(xué)習(xí)
這篇文章主要介紹了讓GPT教你用go語言和C語言開發(fā)IDE配置學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10Golang import本地包和導(dǎo)入問題相關(guān)詳解
這篇文章主要介紹了Golang import本地包和導(dǎo)入問題相關(guān)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02