一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Go 語(yǔ)言系列1:Let's Go!

 菜籽愛(ài)編程 2022-04-27

Go 語(yǔ)言簡(jiǎn)介

Go 又稱 Golang ,是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開(kāi)發(fā)的一種靜態(tài)強(qiáng)類型、編譯型語(yǔ)言。Go 語(yǔ)言語(yǔ)法與 C 相近,但功能上有:內(nèi)存安全,GC(垃圾回收),結(jié)構(gòu)形態(tài)及 CSP-style 并發(fā)計(jì)算。


Go 的安裝

Go 支持很多主流平臺(tái),例如 Windows 、 Mac 、 Linux 等等。首先需要前往 Go 官網(wǎng)下載相應(yīng)平臺(tái)的二進(jìn)制文件,官網(wǎng)地址為:

https:///

但因?yàn)楸娝苤脑蛟L問(wèn)不了,可以訪問(wèn)下面的地址:

https://www./go/

當(dāng)然也可以到 Go 語(yǔ)言中文網(wǎng)下載,Go 語(yǔ)言中文網(wǎng)下載地址為:

https:///dl

Windows

在 Go 官網(wǎng)下載 MSI 安裝程序。安裝安裝指引程序安裝完成后,會(huì)將 Golang 安裝到 C:\Program Files\Go 目錄下,同時(shí) C:\Program Files\Go\bin 目錄也會(huì)被添加到 PATH 環(huán)境變量中。

我使用的是 Windows 操作系統(tǒng),所以安裝完成后,在 cmd 中使用命令 go version 驗(yàn)證是否安裝成功。如果安裝成功,會(huì)顯示 go 的版本信息,例如:

C:\Users>go version
go version go1.17.2 windows/amd64

Mac OS

在 Go 官網(wǎng)下載 pkg 安裝程序。安裝安裝指引程序安裝完成后,會(huì)將 Golang 安裝到 /usr/local/go 目錄下,同時(shí) /usr/local/go/bin 文件夾也會(huì)被添加到 PATH 環(huán)境變量中。

Linux

在 Go 官網(wǎng)下載 tar.gz 文件,并解壓到 /usr/local 。添加 /usr/local/go/binPATH 環(huán)境變量中。Go 就已經(jīng)成功安裝在 Linux 上了。


Go IDE 的安裝

個(gè)人推薦使用 GoLand ,GoLand 是 Jetbrains 家族的 Go 語(yǔ)言 IDE,有 30 天的免費(fèi)試用期。支持系統(tǒng)環(huán)境三大平臺(tái) Mac 、 Linux 和 Windows 。GoLand 下載地址為:

https://www./go/

LiteIDE 是一款開(kāi)源、跨平臺(tái)的輕量級(jí) Go 語(yǔ)言集成開(kāi)發(fā)環(huán)境(IDE)。但只支持 Windows 和 Linux 。LiteIDE 下載地址為:

http:///projects/liteide/files/

當(dāng)然你也可以使用 Visual Studio Code 并安裝相應(yīng)的 Go 擴(kuò)展來(lái)編寫 Go 程序。


第一個(gè) Go 程序

接下來(lái),我們就從編寫第一個(gè) Go 程序開(kāi)始,學(xué)習(xí) Go 語(yǔ)言。

首先,在任意目錄下創(chuàng)建一個(gè)目錄 hello 。接著在此目錄下創(chuàng)建一個(gè) hello.go 文件,打開(kāi)文件鍵入下面的代碼,保存并退出。

// hello.go
package main

import "fmt"

func main() {
 fmt.Println("Let's go!")
}


編譯運(yùn)行 Go 程序

首先打開(kāi) cmd 窗口,進(jìn)入存放 hello.go 目錄下(可以直接在文件資源管理器的地址欄輸入 cmd 進(jìn)入),然后使用命令 go build hello.go 編譯 hello.go 程序,編譯完成后,你能在目錄下看到多了一個(gè) hello.exe 可執(zhí)行文件。接著同樣在 cmd 窗口使用命令 hello 運(yùn)行 hello.exe 程序,你會(huì)在 cmd 窗口上看到輸出了字符串 Let's go! 。

C:\Users\hello>go build hello.go

C:\Users\hello>hello
Let's go!

當(dāng)然,你也可以使用 go run hello.go 命令編譯鏈接程序并運(yùn)行,同樣也會(huì)輸出上面的字符串。但是,使用 go run 命令不會(huì)在運(yùn)行目錄下生成任何文件,可執(zhí)行文件被放在臨時(shí)文件中被執(zhí)行,工作目錄被設(shè)置為當(dāng)前目錄。

C:\Users\hello>go run hello.go
Let's go!


簡(jiǎn)析第一個(gè) Go 程序

// hello.go
package main

import "fmt"

func main() {
 fmt.Println("Let's go!")
}

首先,第一行是注釋語(yǔ)句,跟 C 語(yǔ)言一樣,Go 語(yǔ)言也采用 ///* */ 作為注釋標(biāo)記。

其次,在第二行指定了該文件屬于 main 包。Go 代碼是使用包來(lái)組織的,包類似于其他語(yǔ)言中的庫(kù)和模塊。一個(gè)包由一個(gè)或多個(gè) .go 源文件組成,放在一個(gè)文件夾中,該文件夾的名字描述了包的作用。每一個(gè)源文件的開(kāi)始都用 package 聲明,上面的例子里面是 package main ,指明了這個(gè)文件屬于 main 包。后面跟著它導(dǎo)入的其他包的列表,然后是存儲(chǔ)在文件中的程序聲明。名為 main 的包比較特殊,它用來(lái)定義一個(gè)獨(dú)立的可執(zhí)行程序,而不是庫(kù)。在 main 包中,函數(shù) main 也是特殊的,不管在什么程序中, main 做什么事情,它總是程序開(kāi)始執(zhí)行的地方。

第四行引入了 fmt 包,因?yàn)槭褂昧?fmt 包中的函數(shù)來(lái)格式化輸出和掃描輸入,所以要在這里導(dǎo)入此包。Printlnfmt 中一個(gè)基本的輸出函數(shù),它輸出一個(gè)或多個(gè)用空格分隔的值,結(jié)尾使用一個(gè)換行符,這樣看起來(lái)這些值是單行輸出。Go 的標(biāo)準(zhǔn)庫(kù)中有 100 多個(gè)包用來(lái)完成輸入、輸出、排序、文本處理等常規(guī)任務(wù)。在 Go 程序中,我們需要告訴編譯器源文件需要哪些包,用 package 聲明后面的 import 來(lái)導(dǎo)入這些包。我們必須精確地導(dǎo)入需要的包。在缺失導(dǎo)入或存在不需要的包的情況下,編譯都會(huì)失敗,這種嚴(yán)格的要求可以防止程序演化中引用不需要的包。import 聲明必須跟在 package 聲明之后。

第六行我們定義了一個(gè) main 函數(shù),該函數(shù)是一個(gè)特殊的函數(shù),整個(gè)程序從 main 函數(shù)開(kāi)始運(yùn)行。mian 函數(shù)必須放在 main 包中。其中的 {} 分別表示函數(shù)的開(kāi)始和結(jié)束部分。特別注意,在 Go 中不需要在語(yǔ)句或聲明后面使用分號(hào)結(jié)尾,除非有多個(gè)語(yǔ)句或聲明出現(xiàn)在同一行。事實(shí)上,跟在特定符號(hào)后面的換行符被轉(zhuǎn)換為分號(hào),在什么地方進(jìn)行換行會(huì)影響對(duì) Go 代碼的解析。例如, { 符號(hào)必須和關(guān)鍵字 func 在同一行,不能獨(dú)自成行,并且在 x+y 這個(gè)表達(dá)式中,換行符可以在 + 操作符的后面,但是不能在 + 操作符的前面。Go 對(duì)于代碼的格式化要求非常嚴(yán)格。我們可以使用 gofmt 工具將代碼以標(biāo)準(zhǔn)格式重寫, go 工具的 fmt 子命令使用 gofmt 工具來(lái)格式化指定包里的所有文件或者當(dāng)前文件夾中的文件(默認(rèn)情況下)。

第七行我們使用 fmt 包中的 Println 函數(shù)把文本寫入標(biāo)準(zhǔn)輸出。

參考文獻(xiàn):

[1] Alan A. A. Donovan; Brian W. Kernighan, Go 程序設(shè)計(jì)語(yǔ)言, Translated by 李道兵, 高博, 龐向才, 金鑫鑫 and 林齊斌, 機(jī)械工業(yè)出版社, 2017.


??周一到周五更新,期待你的關(guān)注??

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    国内女人精品一区二区三区| 亚洲精品伦理熟女国产一区二区| 中文字幕人妻日本一区二区| 国产精品色热综合在线| 国产又色又爽又黄又大| 视频一区中文字幕日韩| 激情中文字幕在线观看| 日本中文在线不卡视频| 国产欧美亚洲精品自拍| 国产亚洲精品俞拍视频福利区| 成年人视频日本大香蕉久久| 四季av一区二区播放| 国产盗摄精品一区二区视频| 日韩中文字幕免费在线视频| 丝袜视频日本成人午夜视频| 男人把女人操得嗷嗷叫| 五月婷婷亚洲综合一区| 老鸭窝老鸭窝一区二区| 小黄片大全欧美一区二区| 四季av一区二区播放| 国产精品欧美一区二区三区| 欧美精品二区中文乱码字幕高清| 欧美一级特黄特色大色大片| 91亚洲精品亚洲国产| 日本东京热视频一区二区三区| 欧美精品二区中文乱码字幕高清| 国产视频在线一区二区| 日本国产欧美精品视频| 日韩免费成人福利在线| 日韩一级免费中文字幕视频| 久久永久免费一区二区| 开心五月激情综合婷婷色| 日韩人妻精品免费一区二区三区| 国产精品推荐在线一区| 国产精品欧美一区二区三区| 又大又紧又硬又湿又爽又猛| 国产精品午夜福利免费阅读| 久久精品国产在热久久| 又色又爽又无遮挡的视频| 九九热精品视频免费观看| 国产毛片对白精品看片 |