如何遍历由UUIDS组成的切片?我的值来自rows.Next()
这是我将uuid值附加到切片中的方法(真的不知道它是否正确)
type Images struct {
image_id uuid.UUID `gorm:"type:uuid;primary_key;"`
}
var new_images []Images
for olds.Next() {
olds.Scan(&oldimages.image_id)
new_images = append(new_images , Images{image_id: oldimages.image_id})
}
这里的olds是我从gorm Rows
olds, err := db.Raw("SELECT images_received.image_id FROM old_pics").Rows()
defer olds.Close()
这里给出了循环中的函数,但它的作用是我不知道如何将其用于uuid:
func islice(s []int, n int, f func([]int)) {
for i := 0; i < len(s); i += n {
var section []int
if i > len(s)-n {
section = s[i:]
} else {
section = s[i : i+n]
}
f(section)
}
}
知道我该怎么做吗?当前针对使用"github.com/satori/go.uuid"
lib
我从另一个SO问题得到了函数,我的目标是遍历行,但是rows.Next()
不允许这样做,我想我认为我需要将它们附加到一个切片中,所以我可以使他们四分之三。
因此导致了这个问题。
答案 0 :(得分:1)
您要做的就是在islice函数中的所有地方(包括参数类型)将[] int替换为[] uuid.UUID。如果那是您的问题所在,则islice()的功能未绑定到[] int。