go語言list go語言linux程序權限

Go語言list(列表)

2021-11-10

在黃陂等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供做網(wǎng)站、網(wǎng)站建設 網(wǎng)站設計制作按需定制開發(fā),公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,高端網(wǎng)站設計,營銷型網(wǎng)站建設,成都外貿(mào)網(wǎng)站制作,黃陂網(wǎng)站建設費用合理。

列表是一種非連續(xù)的存儲容器,有多個節(jié)點組成,節(jié)點通過一些變量記錄彼此之間的關系

單鏈表和雙鏈表就是列表的兩種方法。

原理:A、B、C三個人,B懂A的電話,C懂B的電話只是單方知道號碼,這樣就形成了一個單鏈表結構。

如果C把自己的號碼給B,B把自己的號碼給A,因為是雙方都知道對方的號碼,這樣就形成了一個雙鏈表結構

如果B換號碼了,他需要通知AC,把自己的號碼刪了,這個過程就是列表的刪除操作。

在Go語言中,列表使用 container/list 包來實現(xiàn),內(nèi)部的實現(xiàn)原理是雙鏈表,列表能夠高效地進行任意位置的元素插入和刪除操作。

列表初始化的兩種辦法

列表沒有給出具體的元素類型的限制,所以列表的元素可以是任意類型的,

例如給列表中放入了一個 interface{} 類型的值,取出值后,如果要將 interface{} 轉換為其他類型將會發(fā)生宕機。

雙鏈表支持從隊列前方或后方插入元素,分別對應的方法是 PushFront 和 PushBack。

列表插入函數(shù)的返回值會提供一個 *list.Element 結構,這個結構記錄著列表元素的值以及與其他節(jié)點之間的關系等信息,從列表中刪除元素時,需要用到這個結構進行快速刪除。

遍歷完也能看到最后的結果

學習地址:

GO語言(二十七):管理依賴項(下)-

當您對外部模塊的存儲庫進行了 fork (例如修復模塊代碼中的問題或添加功能)時,您可以讓 Go 工具將您的 fork 用于模塊的源代碼。這對于測試您自己的代碼的更改很有用。

為此,您可以使用go.mod 文件中的replace指令將外部模塊的原始模塊路徑替換為存儲庫中 fork 的路徑。這指示 Go 工具在編譯時使用替換路徑(fork 的位置),例如,同時允許您保留import 原始模塊路徑中的語句不變。

在以下 go.mod 文件示例中,當前模塊需要外部模塊example點抗 /theirmodule。然后該replace指令將原始模塊路徑替換為example點抗 /myfork/theirmodule模塊自己的存儲庫的分支。

設置require/replace對時,使用 Go 工具命令確保文件描述的需求保持一致。使用go list命令獲取當前模塊正在使用的版本。然后使用go mod edit命令將需要的模塊替換為fork:

注意: 當您使用該replace指令時,Go 工具不會像添加依賴項中所述對外部模塊進行身份驗證。

您可以使用go get命令從其存儲庫中的特定提交為模塊添加未發(fā)布的代碼。

為此,您使用go get命令,用符號@指定您想要的代碼 。當您使用go get時,該命令將向您的 go.mod 文件添加一個 需要外部模塊的require指令,使用基于有關提交的詳細信息的偽版本號。

以下示例提供了一些說明。這些基于源位于 git 存儲庫中的模塊。

當您的代碼不再使用模塊中的任何包時,您可以停止將該模塊作為依賴項進行跟蹤。

要停止跟蹤所有未使用的模塊,請運行go mod tidy 命令。此命令還可能添加在模塊中構建包所需的缺失依賴項。

要刪除特定依賴項,請使用go get,指定模塊的模塊路徑并附加 @none,如下例所示:

go get命令還將降級或刪除依賴于已刪除模塊的其他依賴項。

當您使用 Go 工具處理模塊時,這些工具默認從 proxy.golang.org(一個公共的 Google 運行的模塊鏡像)或直接從模塊的存儲庫下載模塊。您可以指定 Go 工具應該使用另一個代理服務器來下載和驗證模塊。

如果您(或您的團隊)已經(jīng)設置或選擇了您想要使用的不同模塊代理服務器,您可能想要這樣做。例如,有些人設置了模塊代理服務器,以便更好地控制依賴項的使用方式。

要為 Go 工具指定另一個模塊代理服務器,請將GOPROXY 環(huán)境變量設置為一個或多個服務器的 URL。Go 工具將按照您指定的順序嘗試每個 URL。默認情況下,GOPROXY首先指定一個公共的 Google 運行模塊代理,然后從模塊的存儲庫直接下載(在其模塊路徑中指定):

您可以將變量設置為其他模塊代理服務器的 URL,用逗號或管道分隔 URL。

Go 模塊經(jīng)常在公共互聯(lián)網(wǎng)上不可用的版本控制服務器和模塊代理上開發(fā)和分發(fā)。您可以設置 GOPRIVATE環(huán)境變量。您可以設置GOPRIVATE環(huán)境變量來配置go命令以從私有源下載和構建模塊。然后 go 命令可以從私有源下載和構建模塊。

GOPRIVATE或環(huán)境變量可以設置為匹配模塊前綴的全局模式列表,這些GONOPROXY前綴是私有的,不應從任何代理請求。例如:

go語言里的list應該怎么使用

package main

import (

"container/list"

"fmt"

"strings"

)

func main() {

items := list.New()

for _, x := range strings.Split("ABCDEFGH", "") {

items.PushFront(x)

}

items.PushBack(9)

for element := items.Front(); element != nil; element = element.Next() {

switch value := element.Value.(type) {

case string:

fmt.Printf("%s ", value)

case int:

fmt.Printf("%d ", value)

}

}

fmt.Println()

}

當前標題:go語言list go語言linux程序權限
網(wǎng)站路徑:http://muchs.cn/article30/ddcgipo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、移動網(wǎng)站建設、云服務器、品牌網(wǎng)站設計、企業(yè)網(wǎng)站制作營銷型網(wǎng)站建設

廣告

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

成都定制網(wǎng)站建設