真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

go語言實(shí)現(xiàn)網(wǎng)站克隆 go語言網(wǎng)頁開發(fā)

Golang復(fù)制結(jié)構(gòu)體

Golang中復(fù)制結(jié)構(gòu)體,可以使用賦值語句

我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、華容ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的華容網(wǎng)站制作公司

執(zhí)行結(jié)果

可以看出,roger跟mydog在內(nèi)存中的地址不同。并且對mydog修改屬性,對roger沒有影響。

但是注意,這里的Dog結(jié)構(gòu)體中的屬性,都是值類型。如果是 引用類型 的話,復(fù)制的是 指針 ,而不是具體的值。所以通過賦值語句對結(jié)構(gòu)體的拷貝,是 淺拷貝 。如需對引用類型屬性進(jìn)行深拷貝,可以通過手動創(chuàng)建的方式,或者使用實(shí)現(xiàn)了deepcopy功能的第三方包

Go 語言copy():切片復(fù)制(切片拷貝)

2021-10-29

內(nèi)置函數(shù)copu()

作用:可以將一個數(shù)組切片復(fù)制到另一個數(shù)組切片中,如果加入的兩個數(shù)組切片不一樣大,就會按照其中較小的那個數(shù)組切片的元素個數(shù)進(jìn)行復(fù)制。

用法:

情況一:將slice1中的前三個元素,復(fù)制給slice2

情況二:將slice2中的元素,復(fù)制給slice1的前三個

[編程工具]Git 的 Go 語言實(shí)現(xiàn) go-git

go-git 是一個 Go 語言實(shí)現(xiàn)的高度可擴(kuò)展的 Git 實(shí)現(xiàn)庫??梢允褂糜押玫?API 來管理 Git 的倉庫。支持不同類型的存儲,包括內(nèi)存文件系統(tǒng),也可以通過接口 Storer實(shí)現(xiàn)對存儲的擴(kuò)展。

該項(xiàng)目從 2015 年開始開發(fā)。項(xiàng)目旨在兼容 git ,所有的操作實(shí)現(xiàn)與git完全一樣。兩者的兼容比較請閱讀 compatibility documentation.

基本示例

一個實(shí)現(xiàn) git clone 的最基本示例:

輸出結(jié)果:

實(shí)現(xiàn)內(nèi)存存儲的示例

將 git 倉庫克隆到內(nèi)存中,并打印 HEAD 的 歷史 記錄,類似 git log :

輸出結(jié)果:

組件分享之后端組件——基于Go語言的HTML和CSS網(wǎng)站生成器Hugo

近期正在探索前端、后端、系統(tǒng)端各類常用組件與工具,對其一些常見的組件進(jìn)行再次整理一下,形成標(biāo)準(zhǔn)化組件專題,后續(xù)該專題將包含各類語言中的一些常用組件。歡迎大家進(jìn)行持續(xù)關(guān)注。

本節(jié)分享一個基于Go語言的HTML和CSS網(wǎng)站生成器 hugo ,它針對速度、易用性和可配置性進(jìn)行了優(yōu)化。Hugo 獲取一個包含內(nèi)容和模板的目錄,并將它們呈現(xiàn)為一個完整的 HTML 網(wǎng)站。Hugo 依賴于 Markdown 文件和元數(shù)據(jù)的前端,你可以從任何目錄運(yùn)行 Hugo。這適用于您沒有特權(quán)帳戶的共享主機(jī)和其他系統(tǒng)。例如我們?nèi)粘>帉懸恍┎┛臀恼拢M(jìn)行快速生成一套靜態(tài)頁面進(jìn)行分享時可以使用它來進(jìn)行生成一套靜態(tài)頁面作為我們的博客部署基礎(chǔ)。

它支持大量的主題模板,我們可以通過 進(jìn)行選擇相關(guān)的主題使用,有興趣的小伙伴可以進(jìn)行深入研究一下

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

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

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

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

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

1、打開命令提示符并切換到您的主目錄。

在 Linux 或 Mac 上:

在 Windows 上:

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

3、初始化模塊

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

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

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

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

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

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

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

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

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

該go.work文件的語法與go.mod相同。

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

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

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

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

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

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

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

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

1、克隆存儲庫

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

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

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

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

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

3、添加新功能。

我們將向golang.org/x/example/stringutil包中添加一個新函數(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可以用來代替添加replace 指令以跨多個模塊工作。

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

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

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


名稱欄目:go語言實(shí)現(xiàn)網(wǎng)站克隆 go語言網(wǎng)頁開發(fā)
瀏覽路徑:http://weahome.cn/article/hisojd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部