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

所以我想从 comms 中的 ID 中获取所有 commPlans,但由于某种原因,我只得到一个对象(这是 comms 中的第一个 ID)。这是我的代码:


comms := models.GetComms(CommID)

if comms == nil {

    componentsJson.WriteError(ctx, componentsError.ERROR_PARAMETERS_INVALID)

    return

}


var commPlans []models.CommPlan

for _, comm := range comms {

    commPlans = models.GetCommPlans(comm.CommPlanID)

}

if commPlans == nil {

    componentsJson.WriteError(ctx, componentsError.ERROR_PARAMETERS_INVALID)

    return

}


猛跑小猪
浏览 158回答 1
1回答

德玛西亚99

您需要append从切片的结果GetCommPlans,commPlans现在您正在覆盖任何以前返回的结果。要么做:comms := models.GetComms(CommID)if comms == nil {    componentsJson.WriteError(ctx, componentsError.ERROR_PARAMETERS_INVALID)    return}// a slice of slicesvar commPlans [][]models.CommPlanfor _, 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.CommPlanfor _, comm := range comms {    commPlans = append(commPlans, models.GetCommPlans(comm.CommPlanID)...)}if commPlans == nil {    componentsJson.WriteError(ctx, componentsError.ERROR_PARAMETERS_INVALID)    return}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go