func replaceImage(images []*pb.IMAGES, req *pb.QueryCardImgPcdRequest) {
for k, v := range images {
v.Http = strings.ReplaceAll(v.Http, "\u0026", "&")
if req.CameraOrientation != "" && v.ImageOrientation != req.CameraOrientation {
images = append(images[:k], images[k+1:]...)
}
}
}
报错:runtime error: slice bounds out of range [6:4]
原因:删除多个元素的时候会报错
改为
func replaceImage(images []*pb.IMAGES, req *pb.QueryCardImgPcdRequest) {
kk := 0
for _, v := range images {
v.Http = strings.ReplaceAll(v.Http, "\u0026", "&")
if req.CameraOrientation != "" && v.ImageOrientation != req.CameraOrientation {
//images = append(images[:k], images[k+1:]...)
images[kk] = v
kk++
}
}
images = images[:kk]
}