dongyanhu5628 2018-02-14 23:55
浏览 48
已采纳

在Golang中的struct内部添加要映射的项目

I have such struct defined.

type Pages struct {
  Items []map[string]string
}

In a for loop I am creating items with var item = make(map[string]string).

Complete code

pages := Pages{}
for _, partitionKey := range keys {
    fields, err := redis.Strings(conn.Do("hgetall", partitionKey))
    if err == nil {
        var item = make(map[string]string)
        item["id"] = strings.Replace(partitionKey, "pages:", "", -1)
        for i := 0; i < len(fields); i += 2 {
            key, _ := redis.String(fields[i], nil)
            value, _ := redis.String(fields[i+1], nil)
            item[key] = value
        }
        fmt.Println("
", item)
        // this does not work
        //append(pages.Items, item)
    }
}

fmt.Println(pages)

How do I add newly created item to Items array in Pages struct?

Solution based on answers below.

type Pages struct {
    Items []map[string]string `json:"items"`
}

pages := Pages{}
for _, partitionKey := range keys {
    item, err := redis.StringMap(conn.Do("hgetall", partitionKey))
    if err == nil {
        item["id"] = strings.Replace(partitionKey, "pages:", "", -1)
        pages.Items = append(pages.Items, item)
    }
}
  • 写回答

1条回答 默认 最新

  • doulangyu9636 2018-02-14 23:59
    关注
    pages.Items = append(pages.Items, item)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动