golang 绑定数组并一一输入

我正在尝试绑定数组类型并将数组中包含的值一一放入


我尝试了循环但有 json 返回,所以只存储了 1


像这样


log_id|tag_id|

------+------+

1     |     1|

http正文


{

    "LogId" : 1

    "tags" : [1,2,3,4,5,6,7,8,9]

}

    var binder struct {

        LogId      uuid.UUID           `json:"logId"`

        TagId      []int32             `json:"tags"`

    }


    json.Unmarshal([]byte(c.Request().Body), &binder)


    err := h.UseCases.CreateReviewLogUseCase.Use(c.Ctx(),

        database.ReviewLogDenyTag{

            LogID: binder.LogId,

            TagID: binder.TagId,

        })


    return c.JSON(http.StatusCreated, map[string]string{

        "message": "success",

    })

如何执行这样


log_id|tag_id|

------+------+

1     |     1|

1     |     2|

1     |     3|

1     |     4|

1     |     5|

1     |     6|

1     |     7|

1     |     8|

1     |     9|

谢谢


子衿沉夜
浏览 113回答 1
1回答

慕桂英546537

看起来你的问题是你实际上并没有遍历你的标签列表。市面上的每种编程语言都有一种语法允许您执行此操作,通常称为 for 循环。在 Go 中,for 循环有几个有效的语法:for {starting}; {ending}; {update} {}就像在 C 中一样,或者for {index}, {value} := range {collection} {}. 第一种语法虽然可用,但对于您的用例来说并不是最好的,因此我们将使用第二种语法。应用它给出:for _, tag := range binder.TagId {    err := h.UseCases.CreateReviewLogUseCase.Use(c.Ctx(),        database.ReviewLogDenyTag{            LogID: binder.LogId,            TagID: tag,        })}这是在迭代 中的每个条目binder.TagId,这是一个整数片段,并提取每个条目的值和索引。在此示例中,我们丢弃不需要的索引并直接使用该值。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go