我正在尝试绑定数组类型并将数组中包含的值一一放入我尝试了循环但有 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|谢谢
1 回答
慕桂英546537
TA贡献1848条经验 获得超10个赞
看起来你的问题是你实际上并没有遍历你的标签列表。市面上的每种编程语言都有一种语法允许您执行此操作,通常称为 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,这是一个整数片段,并提取每个条目的值和索引。在此示例中,我们丢弃不需要的索引并直接使用该值。
- 1 回答
- 0 关注
- 112 浏览
添加回答
举报
0/150
提交
取消