为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Golang 中使用另一个数组的 ID 填充数组

如何在 Golang 中使用另一个数组的 ID 填充数组

Go
猛跑小猪 2022-06-01 11:37:27
所以我想从 comms 中的 ID 中获取所有 commPlans,但由于某种原因,我只得到一个对象(这是 comms 中的第一个 ID)。这是我的代码:comms := models.GetComms(CommID)if comms == nil {    componentsJson.WriteError(ctx, componentsError.ERROR_PARAMETERS_INVALID)    return}var commPlans []models.CommPlanfor _, comm := range comms {    commPlans = models.GetCommPlans(comm.CommPlanID)}if commPlans == nil {    componentsJson.WriteError(ctx, componentsError.ERROR_PARAMETERS_INVALID)    return}
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

您需要append从切片的结果GetCommPlans,commPlans现在您正在覆盖任何以前返回的结果。


要么做:


comms := models.GetComms(CommID)

if comms == nil {

    componentsJson.WriteError(ctx, componentsError.ERROR_PARAMETERS_INVALID)

    return

}


// a slice of slices

var commPlans [][]models.CommPlan

for _, comm := range comms {

    commPlans = append(commPlans, models.GetCommPlans(comm.CommPlanID))

}

if commPlans == nil {

    componentsJson.WriteError(ctx, componentsError.ERROR_PARAMETERS_INVALID)

    return

}

或者:


comms := models.GetComms(CommID)

if comms == nil {

    componentsJson.WriteError(ctx, componentsError.ERROR_PARAMETERS_INVALID)

    return

}


var commPlans []models.CommPlan

for _, comm := range comms {

    commPlans = append(commPlans, models.GetCommPlans(comm.CommPlanID)...)

}

if commPlans == nil {

    componentsJson.WriteError(ctx, componentsError.ERROR_PARAMETERS_INVALID)

    return

}


查看完整回答
反对 回复 2022-06-01
  • 1 回答
  • 0 关注
  • 157 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信