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

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

如何修復:Golang“追加”方法將相同元素推送到切片

如何修復:Golang“追加”方法將相同元素推送到切片

Go
海綿寶寶撒 2023-06-26 17:10:42
我正在嘗試將數據從 DB ( Mongo ) 映射到 go 中的切片,如果我返回簡單,則一切正常,[]string但如果我將類型更改[]*models.Organization為該代碼,則會返回相同元素的切片。func (os *OrganizationService) GetAll() ([]*models.Organization, error) {    var organizations []*models.Organization    results := os.MongoClient.Collection("organizations").Find(bson.M{})    organization := &models.Organization{}    for results.Next(organization) {        fmt.Println(organization)        organizations = append(organizations, organization)    }    return organizations, nil}我期望輸出[{ Name: "someOrg", ID: "someId" },{ Name: "someOrg2", ID: "someID }, ... ],但實際輸出是 [{ Name: "someOrg", ID: "someId" },{ Name: "someOrg", ID: "someId" }, ... ]我正在使用bongo包。
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

organization應用程序在循環的每次迭代中附加相同的值。通過在循環內創建新值來修復。


func (os *OrganizationService) GetAll() ([]*models.Organization, error) {

    var organizations []*models.Organization

    results := os.MongoClient.Collection("organizations").Find(bson.M{})

    organization := &models.Organization{}

    for results.Next(organization) {

        fmt.Println(organization)

        organizations = append(organizations, organization)

        organization = &models.Organization{} // new value for next iteration

    }

    return organizations, nil

}


查看完整回答
反對 回復 2023-06-26
  • 1 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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