最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go語(yǔ)言快速入門(mén)圖文教程

 更新時(shí)間:2021年05月13日 10:24:00   作者:異常編程  
Go是 Goolge 開(kāi)發(fā)的一種靜態(tài)型、編譯型、并發(fā)型,并具有垃圾回收功能的語(yǔ)言,Go 語(yǔ)言上手非常容易,它的風(fēng)格類(lèi)似于 C 語(yǔ)言,Go 語(yǔ)言號(hào)稱(chēng)是互聯(lián)網(wǎng)時(shí)代的 C 語(yǔ)言,那么它到底有多火呢,一起看看吧

推薦閱讀:

go語(yǔ)言最新版激活教程可以點(diǎn)下這個(gè)鏈接查看。

goland永久安裝教程,點(diǎn)擊此處查看

Go 這幾年很火,小哈也蹭業(yè)余時(shí)間悄咪咪學(xué)習(xí)一下(我大 Java 依舊無(wú)敵😤),雖然暫時(shí)公司技術(shù)棧用不到,但保不準(zhǔn)后面有新項(xiàng)目選型 Go, 到時(shí)候就能直接干活了。

技術(shù)儲(chǔ)備還是要有的,我們要偷偷努力,然后驚艷所有人,哈哈~ 廢話不多說(shuō),開(kāi)干!

一、什么是 Go 語(yǔ)言?

Go(又稱(chēng)Golang)是 Goolge 開(kāi)發(fā)的一種靜態(tài)型、編譯型、并發(fā)型,并具有垃圾回收功能的語(yǔ)言。

羅伯特·格瑞史莫,羅勃·派克(Rob Pike)及肯·湯普遜于2007年9月開(kāi)始設(shè)計(jì)了Go語(yǔ)言,設(shè)計(jì)初衷是為了提高在多核、網(wǎng)絡(luò)機(jī)器(networked machines)、大型代碼庫(kù)(codebases)的情況下的開(kāi)發(fā)效率。當(dāng)時(shí)在Google,設(shè)計(jì)師們想要去除主流編程語(yǔ)言中目前存在的缺點(diǎn),只吸取它們的優(yōu)點(diǎn)用于 Go 語(yǔ)言之中。

Go于2009年11月正式開(kāi)源,同時(shí)支持 Linux、MacOS、Windows 等操作系統(tǒng)。

2016年,Go語(yǔ)言被 TIOBE 評(píng)為 "年度最佳語(yǔ)言"。

二、Go 語(yǔ)言特性

  • Go 語(yǔ)言上手非常容易,它的風(fēng)格類(lèi)似于 C 語(yǔ)言,但是其語(yǔ)法在 C 語(yǔ)言的基礎(chǔ)上做了大幅度簡(jiǎn)化,如去掉了冗余的表達(dá)式括號(hào),循環(huán)遍歷也只有 for 一種寫(xiě)法等;
  • 工程結(jié)構(gòu)簡(jiǎn)單;
  • 代碼可讀性和易用性高;
  • 編譯速度快,由于其語(yǔ)法簡(jiǎn)單、工程結(jié)構(gòu)設(shè)計(jì)嚴(yán)謹(jǐn)、沒(méi)有頭文件、無(wú)包交叉依賴(lài)等特點(diǎn),很大程度上節(jié)約了編譯所需耗時(shí)。
  • 高性能,原生支持并發(fā)。Go 語(yǔ)言的并發(fā)基于 goroutine, 它類(lèi)似于線程,但并非線程。Go 語(yǔ)言運(yùn)行時(shí),會(huì)參與調(diào)度 goroutine, 并將 goroutine合理的分配到每個(gè) CPU 中,從而最大程度的保證 CPU 的使用率。
  • 豐富強(qiáng)大的標(biāo)準(zhǔn)庫(kù),其中包括網(wǎng)絡(luò)、圖形、系統(tǒng)、加密、編碼等各個(gè)方面。

三、Go 語(yǔ)言有多火 ?

Go 語(yǔ)言號(hào)稱(chēng)是互聯(lián)網(wǎng)時(shí)代的 C 語(yǔ)言,那么它到底有多火呢?

1.絕大多數(shù)的云原生項(xiàng)目都是用 Go 語(yǔ)言編寫(xiě)的,比如:

  • Docker: 容器化技術(shù);
  • Kubernetes: 構(gòu)建于 Docker 之上的容器調(diào)度服務(wù);
  • etcd: 一款分布式、可靠的 KV 存儲(chǔ)系統(tǒng);
  • Istio: 一個(gè)與 Kubernetes 緊密結(jié)合的適用于云原生場(chǎng)景的 Service Mesh 形態(tài)的用于服務(wù)治理的開(kāi)放平臺(tái);
  • Prometheus: 一個(gè)開(kāi)源的服務(wù)監(jiān)控系統(tǒng)和時(shí)間序列數(shù)據(jù)庫(kù);
  • ...

2.Go 語(yǔ)言將會(huì)成為云計(jì)算時(shí)代的基礎(chǔ)設(shè)施編程語(yǔ)言,比如區(qū)塊鏈明星項(xiàng)目 Hyperledger、NewSQL , 明星項(xiàng)目 TiDB 也是基于 Go 語(yǔ)言的;

3.Go 語(yǔ)言已經(jīng)成為下一個(gè)企業(yè)級(jí)編程語(yǔ)言,包括字節(jié)跳動(dòng)、滴滴、騰訊、阿里巴巴在內(nèi)的一線互聯(lián)網(wǎng)公司都在使用。

四、下載 Go 安裝包

想要學(xué)習(xí) Go 語(yǔ)言, 首先得下載 Go 語(yǔ)言安裝包??梢郧巴缦聝蓚€(gè)網(wǎng)站下載:

Golang 中國(guó): https://golang.google.cn/dl/

Go 語(yǔ)言官網(wǎng): https://golang.org/dl/

提示: Go 語(yǔ)言官網(wǎng)需要科學(xué)上網(wǎng)才能訪問(wèn),推薦到第一個(gè)鏈接進(jìn)行下載。

訪問(wèn)成功后,如下圖,根據(jù)自己的系統(tǒng),選擇對(duì)應(yīng)的 Go 語(yǔ)言安裝包,點(diǎn)擊下載即可。

下載好對(duì)應(yīng)系統(tǒng)安裝包后,可參見(jiàn)后續(xù)章節(jié)的安裝說(shuō)明:

若你選擇從源碼構(gòu)建,可參考 官方構(gòu)建文檔。

另外,Go 語(yǔ)言歷史版本,請(qǐng)參見(jiàn): http://docs.studygolang.com/doc/devel/release.html

相關(guān)說(shuō)明

文件名 說(shuō)明
go1.15.3.windows-amd64.msi Windows 平臺(tái)安裝包
go1.15.3.linux-amd64.tar.gz Linux 平臺(tái)安裝包
go1.15.3.darwin-amd64.pkg MaxOS 平臺(tái)安裝包
go1.15.3.src.tar.gz Go 語(yǔ)言源碼包,作研究用,日常開(kāi)發(fā)不推薦下載

五、安裝 Go 語(yǔ)言環(huán)境

Windows 安裝 Go

本小節(jié),小哈將演示如何在 Windows 系統(tǒng)上安裝 Go 語(yǔ)言環(huán)境。

PS: 關(guān)于安裝包名稱(chēng),你需要了解的:

1.15.4 表示的是當(dāng)前 Go 安裝包的版本號(hào);

windows 表示這是 Windows 系統(tǒng)的安裝包;

amd64 表示匹配 64 位的 CPU;

下載完成后,雙擊安裝包開(kāi)始安裝:

點(diǎn)擊 Next

這里 Go 開(kāi)發(fā)包的默認(rèn)安裝路徑為 C:\Go\, 推薦使用這個(gè)默認(rèn)路徑。

安裝完成后,我們可以到 C:\Go\ 目錄下,看看目錄結(jié)構(gòu):

Go 安裝目錄說(shuō)明

目錄名 說(shuō)明
api 各個(gè)版本 api 變更差異
bin go 源碼包編譯出來(lái)的編譯器、格式化工具、文檔工具等
doc 英文版的 Go 文檔
lib 依賴(lài)的一些庫(kù)文件
misc 其他用途的相關(guān)文件,如 Android 平臺(tái)的編譯等
pkg Windows 平臺(tái)編譯好的中間文件
src 標(biāo)準(zhǔn)庫(kù)源碼
test 測(cè)試用例

檢查 Windows 系統(tǒng) Go 環(huán)境是否安裝成功

打開(kāi) cmd 窗口,執(zhí)行命令:

go version

若正確輸出 Go 語(yǔ)言的版本號(hào),表示安裝成功:

Linux 安裝 Go

這里,小哈以自己購(gòu)買(mǎi)的云服務(wù)器 CentOS 7 做演示。

下載完成后,將壓縮包上傳到指定目錄下,執(zhí)行如下命令,將壓縮包解壓到 /usr/local/go 下:

tar -C /usr/local -xzf go1.15.4.linux-amd64.tar.gz

解壓完成后,通過(guò) vi 編輯器打開(kāi) 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 語(yǔ)言是否安裝成功:

go version

若正確輸出 Go 語(yǔ)言版本號(hào),則表示安裝成功。

Mac 安裝 Go

Mac 系統(tǒng)有下面兩種安裝方式。

通過(guò) brew 安裝

執(zhí)行如下命令:

brew install go

或者

brew install golang

另外,也可以先通過(guò) brew info go查看一下版本信息。

官網(wǎng)下載 Go 語(yǔ)言 pkg 包來(lái)安裝

下載完成后,雙擊開(kāi)始安裝:

點(diǎn)擊繼續(xù),等待Go安裝完成。

配置Go語(yǔ)言環(huán)境變量

默認(rèn)會(huì)將Go安裝到 /usr/local/go路徑下,接下來(lái),開(kāi)始配置Go語(yǔ)言環(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é)果

通過(guò)如下命令,來(lái)驗(yàn)證 Go 語(yǔ)言環(huán)境是否安裝成功:

go version

若正確輸出 Go 語(yǔ)言的版本號(hào),則表示成功。

六、寫(xiě)個(gè) Hello World 程序

通常來(lái)說(shuō),入門(mén)任何一門(mén)語(yǔ)言,編寫(xiě)的第一個(gè)程序都是用該語(yǔ)言向世界打聲招呼: Hello World !

開(kāi)始

接下來(lái),我們來(lái)編寫(xiě)第一個(gè) Go 語(yǔ)言程序,新建一個(gè) helloworld.go 文件,代碼如下:

提示: Go 語(yǔ)言源文件的拓展名以 .go 結(jié)尾。

package main

import "fmt"

func main() {
    fmt.Println("Hello World !")
}

上面代碼的意思是在控制臺(tái)打印字符串Hello World !

執(zhí)行 Go 程序

我們有兩種方式來(lái)執(zhí)行上面這個(gè)程序。

第一種方式

通過(guò) go run 命令來(lái)執(zhí)行剛剛的代碼, 執(zhí)行命令如下:

go run helloworld.go 

效果圖如下:

第二種方式

還可以通過(guò)執(zhí)行 go build 命令,將剛剛這段代碼編譯成可執(zhí)行文件:

go build helloworld.go

編譯完成后,可以在目錄下看到一個(gè) helloworld可執(zhí)行文件,通過(guò) ./helloworld 命令來(lái)執(zhí)行它,即可輸出 Hello World !

七、結(jié)語(yǔ)

本文中小哈主要講了如何快速入門(mén) Go 語(yǔ)言,起到一個(gè)拋磚引玉的作用,如果本文能夠?qū)π』锇閭冇杏?,希望小伙伴們?nèi)B一波!

以上就是Go語(yǔ)言快速入門(mén)圖文教程的詳細(xì)內(nèi)容,更多關(guān)于Go語(yǔ)言入門(mén)教程的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Golang中Delve版本太低無(wú)法Debug的問(wèn)題

    Golang中Delve版本太低無(wú)法Debug的問(wèn)題

    這篇文章主要介紹了Golang中Delve版本太低無(wú)法Debug的問(wèn)題,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 一文帶你了解Go語(yǔ)言中的指針和結(jié)構(gòu)體

    一文帶你了解Go語(yǔ)言中的指針和結(jié)構(gòu)體

    前面的兩篇文章對(duì)?Go?語(yǔ)言的基礎(chǔ)語(yǔ)法和基本數(shù)據(jù)類(lèi)型以及幾個(gè)復(fù)合數(shù)據(jù)類(lèi)型進(jìn)行介紹,本文將對(duì)?Go?里面的指針和結(jié)構(gòu)體進(jìn)行介紹,也為后續(xù)文章做鋪墊,感興趣的可以了解一下
    2022-11-11
  • Go語(yǔ)言學(xué)習(xí)教程之goroutine和通道的示例詳解

    Go語(yǔ)言學(xué)習(xí)教程之goroutine和通道的示例詳解

    這篇文章主要通過(guò)A?Tour?of?Go中的例子進(jìn)行學(xué)習(xí),以此了解Go語(yǔ)言中的goroutine和通道,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-09-09
  • Go語(yǔ)言使用AES加密解密的示例代碼

    Go語(yǔ)言使用AES加密解密的示例代碼

    這篇文章主要介紹了Go語(yǔ)言使用AES加密解密的示例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • RabbitMQ延時(shí)消息隊(duì)列在golang中的使用詳解

    RabbitMQ延時(shí)消息隊(duì)列在golang中的使用詳解

    延時(shí)隊(duì)列常使用在某些業(yè)務(wù)場(chǎng)景,使用延時(shí)隊(duì)列可以簡(jiǎn)化系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)、提高系統(tǒng)的可靠性和可用性、提高系統(tǒng)的性能,下面我們就來(lái)看看如何在golang中使用RabbitMQ的延時(shí)消息隊(duì)列吧
    2023-11-11
  • 深入Golang中的sync.Pool詳解

    深入Golang中的sync.Pool詳解

    這篇文章主要介紹了深入Golang中的sync.Pool詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • golang如何解決go get命令無(wú)響應(yīng)問(wèn)題

    golang如何解決go get命令無(wú)響應(yīng)問(wèn)題

    文章介紹了在Go語(yǔ)言中處理由于官方庫(kù)被封禁導(dǎo)致依賴(lài)下載失敗的方法,包括設(shè)置代理和直接克隆依賴(lài)包到GOPATH/src下
    2024-12-12
  • golang文件服務(wù)器的兩種方式(可以訪問(wèn)任何目錄)

    golang文件服務(wù)器的兩種方式(可以訪問(wèn)任何目錄)

    這篇文章主要介紹了golang文件服務(wù)器的兩種方式,可以訪問(wèn)任何目錄,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 詳解如何在Go服務(wù)中做鏈路追蹤

    詳解如何在Go服務(wù)中做鏈路追蹤

    使用 Go 語(yǔ)言開(kāi)發(fā)微服務(wù)的時(shí)候,需要追蹤每一個(gè)請(qǐng)求的訪問(wèn)鏈路,本文主要介紹了如何在Go 服務(wù)中做鏈路追蹤,感興趣的可以了解一下
    2021-09-09
  • GoFrame框架數(shù)據(jù)校驗(yàn)之校驗(yàn)對(duì)象校驗(yàn)結(jié)構(gòu)體

    GoFrame框架數(shù)據(jù)校驗(yàn)之校驗(yàn)對(duì)象校驗(yàn)結(jié)構(gòu)體

    這篇文章主要為大家介紹了GoFrame框架數(shù)據(jù)校驗(yàn)之校驗(yàn)對(duì)象校驗(yàn)結(jié)構(gòu)體示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06

最新評(píng)論

朔州市| 于都县| 五河县| 阿克| 江北区| 池州市| 民权县| 怀集县| 元江| 庆阳市| 萍乡市| 新丰县| 奎屯市| 柏乡县| 观塘区| 尼勒克县| 怀宁县| 青州市| 正宁县| 鸡泽县| 英德市| 惠州市| 元朗区| 东乌珠穆沁旗| 项城市| 仁布县| 武乡县| 玉环县| 漳平市| 腾冲县| 莆田市| 大兴区| 家居| 西乡县| 贵德县| 敦煌市| 米易县| 桃园市| 贺州市| 东港市| 石渠县|