亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

迭代時更改值

迭代時更改值

假設我有以下幾種類型:type Attribute struct {    Key, Val string}type Node struct {    Attr []Attribute}我想迭代節點的屬性以更改它們。我本來希望能夠做到:for _, attr := range n.Attr {    if attr.Key == "href" {        attr.Val = "something"    }}但是因為attr不是指針,所以這行不通,我必須這樣做:for i, attr := range n.Attr {    if attr.Key == "href" {        n.Attr[i].Val = "something"    }}有沒有更簡單或更快速的方法?是否可以直接從中獲取指針range?顯然,我不想僅僅為了迭代而更改結構,更冗長的解決方案不是解決方案。
查看完整描述

3 回答

?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

我會采納您的最后建議,并使用范圍的僅索引版本。


for i := range n.Attr {

    if n.Attr[i].Key == "href" {

        n.Attr[i].Val = "something"

    }

}

對我來說,n.Attr[i]在測試Key行和設置行中明確引用似乎更簡單Val,而不是attr用于一個和n.Attr[i]另一個。


查看完整回答
反對 回復 2019-12-17
  • 3 回答
  • 0 關注
  • 692 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號