第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用追加或不追加將更多數(shù)據(jù)添加到結(jié)構(gòu)中?

如何使用追加或不追加將更多數(shù)據(jù)添加到結(jié)構(gòu)中?

Go
函數(shù)式編程 2023-03-29 17:03:59
那么我們可以使用 Golang 內(nèi)置的 append 方法將更多數(shù)據(jù)添加到定義的結(jié)構(gòu)中。例如type aclStruct struct { acl string} a := []aclStruct{aclStruct{"A"}, aclStruct{"B"}} a = append(a, aclStruct{"C"})毫無疑問它的工作。但是當(dāng)我嘗試不使用 append 方法時,它會產(chǎn)生錯誤。例如我想做的是:a := append(aclStruct{"A"}, aclStruct{"B"}, aclStruct{"C"})甚至不確定它是否是 struct 的正確方法,因為在數(shù)組上它工作正常。還有沒有使用 append 的方法可以做到這一點嗎?有幫助嗎??
查看完整描述

3 回答

?
千巷貓影

TA貢獻1829條經(jīng)驗 獲得超7個贊

甚至不確定它是否是 struct 的正確方法,因為在數(shù)組上它工作正常。

append 函數(shù)將元素追加到slice的末尾。

結(jié)構(gòu)是靜態(tài)聲明的。在 Go 中根本沒有辦法更改它們的結(jié)構(gòu)以在運行時向它們添加字段。

如果您想要一片 structs,您可以使用它來跟蹤結(jié)構(gòu)的多個表示,可能具有不同的數(shù)據(jù)點,您可以通過多種方式構(gòu)建該結(jié)構(gòu):

  • 使用append,確保傳遞的第一個參數(shù)是一個(可能是空的)切片:

    a?:=?append([]aclStruct{},?aclStruct{"A"},?...)
  • 聲明切片變量a并將其傳遞給append

    var?a?[]aclStruct{}
    a?=?append(a,?aclStruct{"A"},?...)
  • 使用內(nèi)聯(lián)值聲明和初始化切片:

    a?:=?[]aclStruct{{"A"},?{"B"}}

    請注意,您不需要為每個切片元素重新指定具體類型,因為它可以從切片的類型中推斷出來)


查看完整回答
反對 回復(fù) 2023-03-29
?
阿晨1998

TA貢獻2037條經(jīng)驗 獲得超6個贊

如果要聲明三個元素的切片,請使用: a := []aclStruct{aclStruct{"A"}, aclStruct{"B"}, aclStruct{"C"}}

append應(yīng)該用于修改當(dāng)前存在的切片(它附加到切片)。它拋出一個錯誤,因為第一個參數(shù)應(yīng)該是一個切片。

如果你想使用它:

var a []aclStruct append(a, aclStruct{"A"})

GoDoc 很好地回答了這個問題:

func append(slice []Type, elems ...Type) []Type

append 內(nèi)置函數(shù)將元素追加到切片的末尾。如果它有足夠的容量,則重新切片目的地以容納新元素。如果沒有,將分配一個新的底層數(shù)組。Append 返回更新后的切片。因此有必要存儲追加的結(jié)果,通常在保存切片本身的變量中:

slice = append(slice, elem1, elem2) slice = append(slice, anotherSlice...)


查看完整回答
反對 回復(fù) 2023-03-29
?
達(dá)令說

TA貢獻1821條經(jīng)驗 獲得超6個贊

append 的第一個參數(shù)必須是一個切片,所以正確的做法是: a := append([]aclStruct{aclStruct{"A"}}, aclStruct{"B"}, aclStruct{"C"})

或者

append([]aclStruct{{"A"}}, aclStruct{"B"}, aclStruct{"C"})

一種不附加的方法是:

a := []aclStruct{aclStruct{"A"}, aclStruct{"B"}}
appendedArray := []aclStruct{aclStruct{"C"}, a...}


查看完整回答
反對 回復(fù) 2023-03-29
  • 3 回答
  • 0 關(guān)注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號