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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何編寫(xiě)將數(shù)組成員分配給 self 的方法

如何編寫(xiě)將數(shù)組成員分配給 self 的方法

Go
森林海 2023-06-01 14:19:23
我有一個(gè)結(jié)構(gòu)數(shù)組和一個(gè)在該數(shù)組中查找具有給定 ID 的結(jié)構(gòu)的方法。如果它存在,我想將它復(fù)制到結(jié)構(gòu)本身。但我無(wú)法讓它發(fā)揮作用。我可以讓它與Marshaland 一起工作Unmarshal,但我認(rèn)為這不是一個(gè)好的解決方案。https://play.golang.org/p/16giIQ0R1Hvpackage mainimport (    "fmt")type Tmp struct {    ID  int    Val int}var members []Tmpfunc (o *Tmp) FindID(id int) {    for i := range members {        if members[i].ID == id {            fmt.Println("found!")            fmt.Println(members[i])            tmp := members[i]            o = &tmp        }    }}func main() {    for i := 0; i < 5; i++ {        o := Tmp{ID: i, Val: i * 2}        members = append(members, o)    }    fmt.Println(members)    a := Tmp{}    a.FindID(3)    fmt.Println(a)}這輸出:[{0 0} {1 2} {2 4} {3 6} {4 8}]found!{3 6}{0 0}
查看完整描述

1 回答

?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以使用解引用運(yùn)算符為指針賦值


*o = members[i]

所以,在你的情況下:


func (o *Tmp) FindID(id int) bool {

    for i := range members {

        if members[i].ID == id {

            *o := members[i]

            return true

        }

    }

    return false

}

我冒昧地讓函數(shù)指示(通過(guò)返回值)它是否真的找到了任何東西;當(dāng)然,您可以忽略該更改。


查看完整回答
反對(duì) 回復(fù) 2023-06-01
  • 1 回答
  • 0 關(guān)注
  • 99 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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