go語(yǔ)言基礎(chǔ)流程 go語(yǔ)言基礎(chǔ)教程

go語(yǔ)言語(yǔ)法(基礎(chǔ)語(yǔ)法篇)

import "workname/packetfolder"

云巖網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,云巖網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為云巖上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的云巖做網(wǎng)站的公司定做!

導(dǎo)入多個(gè)包

方法調(diào)用 包名.函數(shù)//不是函數(shù)或結(jié)構(gòu)體所處文件或文件夾名

packagename.Func()

前面加個(gè)點(diǎn)表示省略調(diào)用,那么調(diào)用該模塊里面的函數(shù),可以不用寫模塊名稱了:

當(dāng)導(dǎo)入一個(gè)包時(shí),該包下的文件里所有init()函數(shù)都會(huì)被執(zhí)行,然而,有些時(shí)候我們并不需要把整個(gè)包都導(dǎo)入進(jìn)來(lái),僅僅是是希望它執(zhí)行init()函數(shù)而已。下劃線的作用僅僅是為了調(diào)用init()函數(shù),所以無(wú)法通過(guò)包名來(lái)調(diào)用包中的其他函數(shù)

import _ package

變量聲明必須要使用否則會(huì)報(bào)錯(cuò)。

全局變量運(yùn)行聲明但不使用。

func 函數(shù)名 (參數(shù)1,參數(shù)2,...) (返回值a 類型a, 返回值b 類型b,...)

func 函數(shù)名 (參數(shù)1,參數(shù)2,...) (返回值類型1, 返回值類型2,...)

func (this *結(jié)構(gòu)體名) 函數(shù)名(參數(shù) string) (返回值類型1, 返回值類型2){}

使用大小來(lái)區(qū)分函數(shù)可見(jiàn)性

大寫是public類型

小寫是private類型

func prifunc int{}

func pubfunc int{}

聲明靜態(tài)變量

const value int

定義變量

var value int

聲明一般類型、接口和結(jié)構(gòu)體

聲明函數(shù)

func function () int{}

go里面所有的空值對(duì)應(yīng)如下

通道類型

內(nèi)建函數(shù) new 用來(lái)分配內(nèi)存,它的第一個(gè)參數(shù)是一個(gè)類型,不是一個(gè)值,它的返回值是一個(gè)指向新分配類型零值的指針

func new(Type) *Type

[這位博主有非常詳細(xì)的分析]

Go 語(yǔ)言支持并發(fā),我們只需要通過(guò) go 關(guān)鍵字來(lái)開(kāi)啟 goroutine 即可。

goroutine 是輕量級(jí)線程,goroutine 的調(diào)度是由 Golang 運(yùn)行時(shí)進(jìn)行管理的。

同一個(gè)程序中的所有 goroutine 共享同一個(gè)地址空間。

語(yǔ)法格式如下:

通道(channel)是用來(lái)傳遞數(shù)據(jù)的一個(gè)數(shù)據(jù)結(jié)構(gòu)。

通道的聲明

通道可用于兩個(gè) goroutine 之間通過(guò)傳遞一個(gè)指定類型的值來(lái)同步運(yùn)行和通訊。操作符 - 用于指定通道的方向,發(fā)送或接收。如果未指定方向,則為雙向通道。

[這里有比較詳細(xì)的用例]

go里面的空接口可以指代任何類型(無(wú)論是變量還是函數(shù))

聲明空接口

go里面的的強(qiáng)制類型轉(zhuǎn)換語(yǔ)法為:

int(data)

如果是接口類型的強(qiáng)制轉(zhuǎn)成其他類型的語(yǔ)法為:

go里面的強(qiáng)制轉(zhuǎn)換是將值復(fù)制過(guò)去,所以在數(shù)據(jù)量的時(shí)候有比較高的運(yùn)行代價(jià)

怎樣學(xué)習(xí)GO語(yǔ)言?

golang學(xué)習(xí)比較簡(jiǎn)單,不過(guò)任何一門語(yǔ)言都不是孤立存在的,在這里簡(jiǎn)要說(shuō)明一下golang開(kāi)發(fā)的學(xué)習(xí)路線

1.golang基礎(chǔ),包括go語(yǔ)言安裝,go語(yǔ)言語(yǔ)法,流程控制語(yǔ)句,函數(shù),方法,面向?qū)ο蟾拍睿W(wǎng)絡(luò)編程,并發(fā)編程等

2.golang開(kāi)發(fā)框架,包括beego,gin,Iris,Echo等

3.微服務(wù)開(kāi)發(fā)

4.深入的話還可以學(xué)習(xí)算法部分。如果要接觸區(qū)塊鏈相關(guān)技術(shù)的話,還需要學(xué)習(xí)區(qū)塊鏈的加密算法等相關(guān)知識(shí)

5.如果要結(jié)合go實(shí)現(xiàn)應(yīng)用的話,肯定離不開(kāi)各種數(shù)據(jù)庫(kù),比如關(guān)系型數(shù)據(jù)庫(kù)oracle、mysql,或者各類非關(guān)系型數(shù)據(jù)庫(kù)等等

6.如果需要開(kāi)發(fā)界面的話,還需要學(xué)習(xí)網(wǎng)頁(yè)編程如html,javascript,vue,elementUI,bootstrap等網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)和框架。

7.在以上學(xué)習(xí)的基礎(chǔ)上還可以向架構(gòu)方面深入學(xué)習(xí)。

鏈喬教育在線祝您學(xué)有所成。

GO語(yǔ)言(十一):開(kāi)始使用多模塊工作區(qū)

本教程介紹 Go 中多模塊工作區(qū)的基礎(chǔ)知識(shí)。使用多模塊工作區(qū),您可以告訴 Go 命令您正在同時(shí)在多個(gè)模塊中編寫代碼,并輕松地在這些模塊中構(gòu)建和運(yùn)行代碼。

在本教程中,您將在共享的多模塊工作區(qū)中創(chuàng)建兩個(gè)模塊,對(duì)這些模塊進(jìn)行更改,并在構(gòu)建中查看這些更改的結(jié)果。

本教程需要 go1.18 或更高版本。使用go.dev/dl中的鏈接確保您已在 Go 1.18 或更高版本中安裝了 Go 。

首先,為您要編寫的代碼創(chuàng)建一個(gè)模塊。

1、打開(kāi)命令提示符并切換到您的主目錄。

在 Linux 或 Mac 上:

在 Windows 上:

2、在命令提示符下,為您的代碼創(chuàng)建一個(gè)名為工作區(qū)的目錄。

3、初始化模塊

我們的示例將創(chuàng)建一個(gè)hello依賴于 golang.org/x/example 模塊的新模塊。

創(chuàng)建你好模塊:

使用 . 添加對(duì) golang.org/x/example 模塊的依賴項(xiàng)go get。

在 hello 目錄下創(chuàng)建 hello.go,內(nèi)容如下:

現(xiàn)在,運(yùn)行 hello 程序:

在這一步中,我們將創(chuàng)建一個(gè)go.work文件來(lái)指定模塊的工作區(qū)。

在workspace目錄中,運(yùn)行:

該go work init命令告訴為包含目錄中模塊的工作空間go創(chuàng)建一個(gè)文件 。go.work./hello

該go命令生成一個(gè)go.work如下所示的文件:

該go.work文件的語(yǔ)法與go.mod相同。

該go指令告訴 Go 應(yīng)該使用哪個(gè)版本的 Go 來(lái)解釋文件。它類似于文件中的go指令go.mod 。

該use指令告訴 Go在進(jìn)行構(gòu)建時(shí)hello目錄中的模塊應(yīng)該是主模塊。

所以在模塊的任何子目錄中workspace都會(huì)被激活。

2、運(yùn)行工作區(qū)目錄下的程序

在workspace目錄中,運(yùn)行:

Go 命令包括工作區(qū)中的所有模塊作為主模塊。這允許我們?cè)谀K中引用一個(gè)包,即使在模塊之外。在模塊或工作區(qū)之外運(yùn)行g(shù)o run命令會(huì)導(dǎo)致錯(cuò)誤,因?yàn)樵揼o命令不知道要使用哪些模塊。

接下來(lái),我們將golang.org/x/example模塊的本地副本添加到工作區(qū)。然后,我們將向stringutil包中添加一個(gè)新函數(shù),我們可以使用它來(lái)代替Reverse.

在這一步中,我們將下載包含該模塊的 Git 存儲(chǔ)庫(kù)的副本golang.org/x/example,將其添加到工作區(qū),然后向其中添加一個(gè)我們將從 hello 程序中使用的新函數(shù)。

1、克隆存儲(chǔ)庫(kù)

在工作區(qū)目錄中,運(yùn)行g(shù)it命令來(lái)克隆存儲(chǔ)庫(kù):

2、將模塊添加到工作區(qū)

該go work use命令將一個(gè)新模塊添加到 go.work 文件中。它現(xiàn)在看起來(lái)像這樣:

該模塊現(xiàn)在包括example.com/hello模塊和 `golang.org/x/example 模塊。

這將允許我們使用我們將在模塊副本中編寫的新代碼,而不是使用命令stringutil下載的模塊緩存中的模塊版本。

3、添加新功能。

我們將向golang.org/x/example/stringutil包中添加一個(gè)新函數(shù)以將字符串大寫。

將新文件夾添加到workspace/example/stringutil包含以下內(nèi)容的目錄:

4、修改hello程序以使用該功能。

修改workspace/hello/hello.go的內(nèi)容以包含以下內(nèi)容:

從工作區(qū)目錄,運(yùn)行

Go 命令在go.work文件指定的hello目錄中查找命令行中指定的example.com/hello模塊 ,同樣使用go.work文件解析導(dǎo)入golang.org/x/example。

go.work可以用來(lái)代替添加replace 指令以跨多個(gè)模塊工作。

由于這兩個(gè)模塊在同一個(gè)工作區(qū)中,因此很容易在一個(gè)模塊中進(jìn)行更改并在另一個(gè)模塊中使用它。

現(xiàn)在,要正確發(fā)布這些模塊,我們需要發(fā)布golang.org/x/example 模塊,例如在v0.1.0. 這通常通過(guò)在模塊的版本控制存儲(chǔ)庫(kù)上標(biāo)記提交來(lái)完成。發(fā)布完成后,我們可以增加對(duì) golang.org/x/example模塊的要求hello/go.mod:

這樣,該go命令可以正確解析工作區(qū)之外的模塊。

如何學(xué)習(xí)GO語(yǔ)言?

Go語(yǔ)言也稱 Golang,兼具效率、性能、安全、健壯等特性。這套Go語(yǔ)言教程(Golang教程)通俗易懂,深入淺出,既適合沒(méi)有基礎(chǔ)的讀者快速入門,也適合工作多年的程序員查閱知識(shí)點(diǎn)。

Go 語(yǔ)言

這套教程在講解一些知識(shí)點(diǎn)時(shí),將 Go 語(yǔ)言和其他多種語(yǔ)言進(jìn)行對(duì)比,讓掌握其它編程語(yǔ)言的讀者能迅速理解 Go 語(yǔ)言的特性。Go語(yǔ)言從底層原生支持并發(fā),無(wú)須第三方庫(kù)、開(kāi)發(fā)者的編程技巧和開(kāi)發(fā)經(jīng)驗(yàn)就可以輕松搞定。

Go語(yǔ)言(或 Golang)起源于 2007 年,并在 2009 年正式對(duì)外發(fā)布。Go 是非常年輕的一門語(yǔ)言,它的主要目標(biāo)是“兼具 Python 等動(dòng)態(tài)語(yǔ)言的開(kāi)發(fā)速度和 C/C++ 等編譯型語(yǔ)言的性能與安全性”。

Go語(yǔ)言是編程語(yǔ)言設(shè)計(jì)的又一次嘗試,是對(duì)類C語(yǔ)言的重大改進(jìn),它不但能讓你訪問(wèn)底層操作系統(tǒng),還提供了強(qiáng)大的網(wǎng)絡(luò)編程和并發(fā)編程支持。Go語(yǔ)言的用途眾多,可以進(jìn)行網(wǎng)絡(luò)編程、系統(tǒng)編程、并發(fā)編程、分布式編程。

Go語(yǔ)言的推出,旨在不損失應(yīng)用程序性能的情況下降低代碼的復(fù)雜性,具有“部署簡(jiǎn)單、并發(fā)性好、語(yǔ)言設(shè)計(jì)良好、執(zhí)行性能好”等優(yōu)勢(shì),目前國(guó)內(nèi)諸多 IT 公司均已采用Go語(yǔ)言開(kāi)發(fā)項(xiàng)目。Go語(yǔ)言有時(shí)候被描述為“C 類似語(yǔ)言”,或者是“21 世紀(jì)的C語(yǔ)言”。Go 從C語(yǔ)言繼承了相似的表達(dá)式語(yǔ)法、控制流結(jié)構(gòu)、基礎(chǔ)數(shù)據(jù)類型、調(diào)用參數(shù)傳值、指針等很多思想,還有C語(yǔ)言一直所看中的編譯后機(jī)器碼的運(yùn)行效率以及和現(xiàn)有操作系統(tǒng)的無(wú)縫適配。

因?yàn)镚o語(yǔ)言沒(méi)有類和繼承的概念,所以它和 Java 或 C++ 看起來(lái)并不相同。但是它通過(guò)接口(interface)的概念來(lái)實(shí)現(xiàn)多態(tài)性。Go語(yǔ)言有一個(gè)清晰易懂的輕量級(jí)類型系統(tǒng),在類型之間也沒(méi)有層級(jí)之說(shuō)。因此可以說(shuō)Go語(yǔ)言是一門混合型的語(yǔ)言。

此外,很多重要的開(kāi)源項(xiàng)目都是使用Go語(yǔ)言開(kāi)發(fā)的,其中包括 Docker、Go-Ethereum、Thrraform 和 Kubernetes。Go 是編譯型語(yǔ)言,Go 使用編譯器來(lái)編譯代碼。編譯器將源代碼編譯成二進(jìn)制(或字節(jié)碼)格式;在編譯代碼時(shí),編譯器檢查錯(cuò)誤、優(yōu)化性能并輸出可在不同平臺(tái)上運(yùn)行的二進(jìn)制文件。要?jiǎng)?chuàng)建并運(yùn)行 Go 程序,程序員必須執(zhí)行如下步驟。

使用文本編輯器創(chuàng)建 Go 程序;

保存文件;編譯程序;運(yùn)行編譯得到的可執(zhí)行文件。

這不同于 Python、Ruby 和 JavaScript 等語(yǔ)言,它們不包含編譯步驟。Go 自帶了編譯器,因此無(wú)須單獨(dú)安裝編譯器。

鏈喬教育在線旗下學(xué)碩創(chuàng)新區(qū)塊鏈技術(shù)工作站是中國(guó)教育部學(xué)校規(guī)劃建設(shè)發(fā)展中心開(kāi)展的“智慧學(xué)習(xí)工場(chǎng)2020-學(xué)碩創(chuàng)新工作站 ”唯一獲準(zhǔn)的“區(qū)塊鏈技術(shù)專業(yè)”試點(diǎn)工作站。專業(yè)站立足為學(xué)生提供多樣化成長(zhǎng)路徑,推進(jìn)專業(yè)學(xué)位研究生產(chǎn)學(xué)研結(jié)合培養(yǎng)模式改革,構(gòu)建應(yīng)用型、復(fù)合型人才培養(yǎng)體系。

新聞標(biāo)題:go語(yǔ)言基礎(chǔ)流程 go語(yǔ)言基礎(chǔ)教程
網(wǎng)站URL:http://m.kartarina.com/article34/hgsppe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈建站公司品牌網(wǎng)站設(shè)計(jì)網(wǎng)站策劃網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
主站蜘蛛池模板: 中文字幕无码精品亚洲资源网久久| 亚洲色av性色在线观无码| 久久午夜福利无码1000合集| 无码日韩精品一区二区三区免费| 日韩免费无码一区二区三区| 无码国内精品久久人妻麻豆按摩 | 中文无码喷潮在线播放| 无码人妻精品一区二区| 色综合久久久无码中文字幕| 亚洲综合无码一区二区| 国产成人AV无码精品| 久久国产精品成人无码网站| 日日麻批免费40分钟无码| 亚洲成av人片在线观看天堂无码 | 日韩专区无码人妻| 亚洲av无码一区二区三区天堂古代| 亚洲AV无码一区二区三区国产| 无码人妻丰满熟妇区96| 无码人妻一区二区三区免费n鬼沢| 无码精品人妻一区二区三区影院 | mm1313亚洲精品无码又大又粗| 在线看片无码永久免费视频 | 亚洲日韩VA无码中文字幕| 亚洲AV无码国产精品永久一区| 久久久久亚洲AV成人无码| 国产爆乳无码一区二区麻豆| 久久青青草原亚洲av无码 | 日韩成人无码中文字幕| 日韩少妇无码喷潮系列一二三 | 久久久无码中文字幕久...| 久久久91人妻无码精品蜜桃HD| 国模无码视频一区| 日韩精品中文字幕无码专区| 国产精品亚洲专区无码不卡| 2020无码专区人妻系列日韩| 免费无码肉片在线观看| 国产精品无码久久四虎| 性无码专区一色吊丝中文字幕| 无码毛片一区二区三区中文字幕| 国产精品成人99一区无码| 特级做A爰片毛片免费看无码|