登录
首页 >  Golang >  Go问答

Golang aws-sdk-go dynamodb UnmarshalMap 类型错误赋值

来源:stackoverflow

时间:2024-02-12 17:45:22 364浏览 收藏

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《Golang aws-sdk-go dynamodb UnmarshalMap 类型错误赋值》,涉及到,有需要的可以收藏一下

问题内容

当我尝试使用 unmarshalmap 方法分配结构时,出现以下错误:cannot use dynamodbattribute.unmarshalmap(result.item, &item) (类型错误)作为分配 中的类型 item。

我从此处的 dynamodb 表获取项目

result, err := svc.getitem(&dynamodb.getiteminput{
        tablename: aws.string(tablename),
        key: map[string]*dynamodb.attributevalue{
            "forumname": {
                s: aws.string(forumname),
            },
        },
    })

并获取以下 json 响应正文

{
   "item":{
      "threads":{
         "n":"30"
      },
      "category":{
         "s":"amazon web services"
      },
      "messages":{
         "n":"11"
      },
      "views":{
         "n":"99"
      },
      "forumname":{
         "s":"aws step functions"
      }
   }
}

现在当我尝试分配我的结构时

type item struct {
        forumname string `dynamodbav:"forumname,stringset"`
        category  string `dynamodbav:"category,stringset"`
        messages  int    `dynamodbav:"messages,numberset"`
        threads   int    `dynamodbav:"threads,numberset"`
        views     int    `dynamodbav:"views,numberset"`
    }

    var item item

    item = dynamodbattribute.unmarshalmap(result.item, &item)

我在这里收到错误 item = dynamodbattribute.unmarshalmap(result.item, &item)

我也尝试像这样设置我的结构

type Item struct {
        ForumName string 
        Category  string 
        Messages  int    
        Threads   int    
        Views     int    
    }

正确答案


尝试按照 Cerise Limón 所说,正确管理错误,因为您将来自 dynamodbattribute.UnmarshalMap 的类型 error 放入预定义的 Item 类型变量中。所以它不会编译。

今天关于《Golang aws-sdk-go dynamodb UnmarshalMap 类型错误赋值》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

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