问题


我有结构数组:


type Config struct {

  Applications []Application

}

注意:Config - 是 json.Decode 的结构体。


config = new(Config)

_ = decoder.Decode(&config)

在循环中,我通过键删除了一些条件和元素。


for i, application := range config.Applications {

  if i == 1 {

    config.Applications = _removeApplication(i, config.Applications)

  }

}


func _removeApplication(i int, list []Application) []Application {

  if i < len(list)-1 {

    list = append(list[:i], list[i+1:]...)

  } else {

    log.Print(list[i].Name)

    list = list[:i]

  }


  return list

}

但我总是有“超出范围”的错误。从结构数组中逐键删除元素的最佳方法是什么?