猿问

如何循环遍历 UUID 项目

如何循环遍历由 UUIDS 组成的切片?我的值来自 db viarows.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()

这是给我的循环中的函数,但它用于 int 我不知道如何将其用于 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)

    }

知道我该怎么做吗?目前对于 uuid 我正在使用"github.com/satori/go.uuid"lib


我从另一个SO问题中得到了这个函数,我的目标是迭代行,但rows.Next()不允许我猜想为了做到这一点,我认为我需要将它们附加到一个切片中,这样我就可以四分五裂地获取它们。


因此导致了这个问题。


叮当猫咪
浏览 110回答 1
1回答

牛魔王的故事

您需要做的就是在 islice 函数中的所有位置(包括参数类型)将 []int 替换为 []uuid.UUID。如果这就是您的问题, islice() 的功能不会绑定到 []int 。
随时随地看视频慕课网APP

相关分类

Go
我要回答