登录
首页 >  Golang >  Go问答

Go语言解析类型错误,模型不匹配

来源:stackoverflow

时间:2024-02-09 16:54:23 419浏览 收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《Go语言解析类型错误,模型不匹配》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我有这个响应模型

type categorydto struct {
    id                int                    `json:"id"`
    size              int                    `json:"size"`
    rate              int                    `json:"rate"`
    name              string                 `json:"name"`
    komisyon          int                    `json:"komisyon"`
}

客户服务的预期响应如下:

{
          "id": 1182,
          "size": 28,
          "rate": 8,
          "name": "Dress",
          "komisyon": 21
}          

但是当解组 golang 时出现错误:解组类型错误并显示; komisyon 是问题 - 编号 21.0

当我将 komisyon int 更改为 interface{} 时,它可以工作,但是为什么 golang 给我这个错误,这显然是 int 。如何确保其他预期的 int 值正确?


正确答案


看来你的komisyon字段是21.0,它不是整数,你可以将其更改为float64。

type CategoryDto struct {
    ID       int     `json:"id"`
    Size     int     `json:"size"`
    Rate     int     `json:"rate"`
    Name     string  `json:"name"`
    Komisyon float64 `json:"komisyon"`
}

您可以在解组之前打印 val 来查看它是什么。

您收到浮点数,请将 komisyon 更改为浮点数

本篇关于《Go语言解析类型错误,模型不匹配》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>