返回顶部
首页 > 资讯 > 后端开发 > GO >关系始终为零在执行 dynamoattribute.UnmarshalMap时
  • 726
分享到

关系始终为零在执行 dynamoattribute.UnmarshalMap时

2024-04-04 23:04:02 726人浏览 泡泡鱼
摘要

从现在开始,努力学习吧!本文《关系始终为零在执行 dynamoattribute.UnmarshalMap时》主要讲解了等等相关知识点,我会在编程网中持续更新相关的系列文章,欢迎大家关注并积极留言建

从现在开始,努力学习吧!本文《关系始终为零在执行 dynamoattribute.UnmarshalMap时》主要讲解了等等相关知识点,我会在编程网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

我有两个结构。样品和测试。 “样本”具有“测试”类型的关系。当我尝试执行“dynamoattribute.unmarshalmap”时,关系始终为零。您能否建议如何填充关系(在本例中为“测试”)?

package main

import (
    "fmt"

    "GitHub.com/aws/aws-sdk-Go/aws"
    "github.com/aws/aws-sdk-go/service/dynamodb"
    "github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute"
)

type Sample struct {
    SampleId string `JSONapi:"attr,sampleId,omitempty" dynamodbav:"sample_id"`
    Test     *Test  `jsonapi:"relation,test"`
}

type Test struct {
    TestId string `jsonapi:"attr,testId,omitempty" dynamodbav:"test_id"`
}

func main() {
    var m map[string]*dynamodb.AttributeValue
    m = make(map[string]*dynamodb.AttributeValue)

    m["sample_id"] = &dynamodb.AttributeValue{
        S: aws.String("sample1"),
    }

    m["test_id"] = &dynamodb.AttributeValue{
        S: aws.String("test"),
    }

    sam := Sample{}

    err := dynamodbattribute.UnmarshalMap(m, &sam)
    if err != nil {
        fmt.Println(err)
    }

    fmt.Println(sam)
}

解决方案


package main

import (
    "fmt"

    "github.com/aws/aws-sdk-go/aws"
    "github.com/aws/aws-sdk-go/service/dynamodb"
    "github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute"
)

type Sample struct {
    SampleId string `jsonapi:"attr,sampleId,omitempty" dynamodbav:"sample_id"`
    Test     *Test  `jsonapi:"relation,test"`
}

type Test struct {
    TestId string `jsonapi:"primary,testId" dynamodbav:"test_id"`
}


func main() {
    var m map[string]*dynamodb.AttributeValue
    m = make(map[string]*dynamodb.AttributeValue)   

    m["sample_id"] = &dynamodb.AttributeValue{
        S: aws.String("sample1"),
    }

    var mTest map[string]*dynamodb.AttributeValue
    mTest = make(map[string]*dynamodb.AttributeValue)

    mTest["test_id"] = &dynamodb.AttributeValue{
        S: aws.String("test1"),
    }

    m["test"] = &dynamodb.AttributeValue{
        M: mTest,
    }

    sam := Sample{}

    err := dynamodbattribute.UnmarshalMap(m, &sam)
    if err != nil {
        fmt.Println(err)
    }

    fmt.Println(sam)
}

本篇关于《关系始终为零在执行 dynamoattribute.UnmarshalMap时》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于golang的相关知识,请关注编程网公众号!

您可能感兴趣的文档:

--结束END--

本文标题: 关系始终为零在执行 dynamoattribute.UnmarshalMap时

本文链接: https://lsjlt.com/news/595896.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作