写golang restful接口时遇到的一个坑

本文讲述了在编写Golang RESTful接口时遇到的一个关于切片的问题。在处理包含切片的结构体时,由于切片的引用特性,导致数据意外覆盖。通过调试和分析,找到了问题的原因及两种解决方案:一是将切片操作放入循环内部,二是将切片字段定义为空接口。此经验教训提醒开发者在使用Golang切片时需谨慎。
摘要由CSDN通过智能技术生成

话不多说,先上代码

type detail struct {
    High float64 `json:"high"` 
    Low float64 `json:"low"`
    Average float64 `json:"average"`
}
type Spot struct {
    UpdateDate string `json:"update_date"`
    Detail []detail `json:"detail"`
}
    .
    .//此处省略部分无关代码
    .
    key := constant.REDIS_INFIX_PREMIUM + productId  //此处是去redis读数据
    d, err := c.ZRevRangeByScore(key, maxScores, minScores, page, num)//取出的[][]byte放入d中
    if err != nil {
     logger.Warnning(err)
     return nil, err
    }

    var (
     prices []Spot
     p      Spot
    )

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值